知识大全 Oracle中使用的若干技术经典总结

Posted 语句

篇首语:瞄准还不是射中,起跑还不算到达。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle中使用的若干技术经典总结相关的知识,希望对你有一定的参考价值。

Oracle中使用的若干技术经典总结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  怎么样让我的用户名和密码不泄漏?   =====================   在unix下 我用sqlplus sys/sys登陆 别的用户很容易就能看到我的密码 怎么办?      $ ps ef|grep sqlplus   oracle : : pts/ : sqlplus sys/sys   oracle : : pts/ : grep sqlplus   采用sqlplus /nolog      sql>connect sys/sys 这样别的用户就看不到你的密码啦       怎样生成建表的完整的DDL语句?   ====================   用exp 再Imp show=y可以看到       或者使用某些Oracle 的小工具 比如quest的toad和sql*navigator       truncate table和delete table有些什么区别?   ==========================   truncate: DDL no rollback possibility and no rollback segment usage quick release space used by the table except the original one       delete: dml can rollback use rollback space not release space slow delete large table may cause ora error       如何删除重复的记录    =============   第一个办法 生成建表的完整DDL语句 并且生成tab_bak的表名        insert into tab_bak select distinct * from tab_name;       drop table tab_name rename tab_bak to tab_name;      第二个办法       DELETE FROM table_name A WHERE ROWID >   ( SELECT min(rowid) FROM table_name B      WHERE A key_values = B key_values);      第三个办法       Delete from my_table where rowid not in   ( SQL> select max(rowid) from my_table      group by my_column_name );      第四个办法       delete from my_table t    where exists (select x from my_table t       where t key_value = t key_value       and t key_value = t key_value       and t rowid > t rowid);      如何快速为已有的表加上一个主键?   =====================   加上一个非空的列 比如seqno 然后       update table_name set seqno=rownum;      或者       CREATE SEQUENCE testseq START WITH INCREMENT BY ;   update table_name set seqno=testseq nextval;      SQL排序问题 我怎么才能选择出按照某个列排序后前N行来?   =====================================   在SQL*Server 里面 可以用这样的语句 select top col col from table_name;      从Oracle i开始 支持这样的语法(在子查询里面使用order by语句)      select * from (select col col from table_name order by col col )      where rownum< ;      这样就能够起到同样的效果       在Oracle 或者以下 可以这样       SELECT col col FROM   (SELECT /*+ INDEX_DESC (table_name index_name) */ col col FROM table_name)   WHERE rownum < ;      使用提示可以让Oracle在子查询返回结果之前先对他进行排序 一般可以使用hintINDEX_DESC(TABLE_NAME INDEX_NAME)来起到这个作用       我们可以分别查看两个SQL的执行计划       scott@testdb> select * from sort_sample;      ID NAME        aa        s    fdisk        format    low format    rows selected       scott@testdb> create index sort_id_idx on sort_sample(id);      Index created    scott@testdb> set autotrace on explain   scott@testdb> way :   scott@testdb> select * from (select * from sort_sample order by id desc) where rownum< ;      ID NAME            s      Execution Plan        SELECT STATEMENT Optimizer=CHOOSE    COUNT (STOPKEY)    VIEW    SORT (ORDER BY STOPKEY)    TABLE ACCESS (FULL) OF SORT_SAMPLE       scott@testdb> way :wrong result   scott@testdb> select * from sort_sample where rownum< ;      ID NAME        aa          Execution Plan        SELECT STATEMENT Optimizer=CHOOSE    COUNT (STOPKEY)    TABLE ACCESS (FULL) OF SORT_SAMPLE       scott@testdb> ANALYZE TABLE SORT_SAMPLE PUTE STATISTICS;      Table analyzed       scott@testdb> ANALYZE INDEX SORT_ID_IDX PUTE STATISTICS;      Index analyzed       scott@testdb> way : can work in oracle and oracle    scott@testdb> select * from (select /*+index_desc(sort_sample sort_id_idx)*/ * from sort_sample)    where rownum< ;      ID NAME        aa          //原因 col sort_id_idx列为nullable 所以CBO不能确定 加上not null约束即可达到目的       用group by可以生成从小开始的排序       scott@testdb> SELECT ID NAME FROM    (SELECT ID NAME COUNT(*) FROM SORT_SAMPLE GROUP BY ID NAME)    WHERE ROWNUM< ;      ID NAME        aa    low format      Execution Plan        SELECT STATEMENT Optimizer=CHOOSE (Cost= Card= Bytes= )    COUNT (STOPKEY)    VIEW (Cost= Card= Bytes= )    SORT (GROUP BY STOPKEY) (Cost= Card= Bytes= )    TABLE ACCESS (FULL) OF SORT_SAMPLE (Cost= Card=        怎么每隔N条记录获得一条记录?比如第 等?   =================================   CHAO@PING>select * from testseq;      ID NAME        this is th record    this is th record    this is th record    this is th record    this is th record    this is th record    this is th record    this is th record    this is th record    this is th record       rows selected       CHAO@PING>select id name from    (select id name rownum rz from testseq) temp    where mod(rz )= ;      ID NAME        this is th record    this is th record    this is th record      CHAO@PING>      如何删除一个列?   ===========   从Oracle i开始 Oracle支持一个列的删除 语法如下       alter table tab_name drop column col ;       如何重命名一个列?   ==============   CHAO@PING> create table testrename(id number nama varchar ( ));      Table created       CHAO@PING> begin    for x in loop    insert into testrename values(x this is ||to_char(x)|| th record );    end loop;    end;    /      PL/SQL procedure successfully pleted       CHAO@PING> mit;      Commit plete       CHAO@PING> alter table testrename add name varchar ( );      Table altered       CHAO@PING> update testrename set name=nama;       rows updated       CHAO@PING> alter table testrename drop column nama;      Table altered       CHAO@PING> select * from testrename;      ID NAME      cha138/Article/program/Oracle/201311/17969

相关参考

知识大全 oracle段管理分析

  ()段区段块  Oracle中的段segment是占用磁盘存储空间的一个对象从逻辑上讲一个数据库由若干表空间(TABLESAPCE)组成每个表空间有若干个表(TABLE)每个表又可以分为若干数据段

知识大全 oracle中decode函数用法

  DECODE函数相当于一条件语句(IF)它将输入数值与函数中的参数列表相比较根据输入值返回一个对应值函数的参数列表是由若干数值及其对应结果值组成的若干序偶形式当然如果未能与任何一个实参序偶匹配成功

知识大全 Oracle经典书籍介绍

Oracle经典书籍介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Oracle经典书籍介绍

知识大全 oracle常用经典SQL查询

oracle常用经典SQL查询  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  常用SQL查询  

知识大全 Oracle优化经典文章------索引原理篇

Oracle优化经典文章------索引原理篇  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  O

知识大全 Oracle查询表空间使用情况(经典篇)

Oracle查询表空间使用情况(经典篇)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  查询表空

知识大全 数据库内存参数调优技术的总结

  近来公司技术研发都在问我关于内存参数如何设置可以优化Oracle的性能所以抽时间整理了这篇文档以做参考  目的:  希望通过整理此文档使公司同事对oracle内存结构有一个全面的了解并在实际的工作

知识大全 如何应对ORACLE面试中的问题技术

如何应对ORACLE面试中的问题技术  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  这里的回答并

知识大全 Oracle游标使用总结

Oracle游标使用总结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Oracle游标分为显示

知识大全 Oracle 游标使用总结

Oracle游标使用总结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!Oracle游标分为显示游标