Oraclejpa sql语句别名问题问题

博客分类:
ORACLE的DML语句中可以指定RETURNING语句。RETURNING语句的使用在很多情况下可以简化PL/SQL编程。
这里不打算说明RETURNING语句的使用(其实使用起来也很简单,和SELECT INTO语句没有多大区别。),主要打算说明RETURNING语句的几个特点。
其实这篇文章源于同事问我的一个问题:
使用UPDATE语句的时候,RETURNING得到的结果是UPDATE之前的结果还是UPDATE之后的结果?
这个问题把我问住了。考虑DELETE的情况,RETURNING返回的肯定是DELETE之前的结果,而考虑INSERT的情况,RETURNING返回的一定是INSERT之后的结果。但是UPDATE到底返回那种情况,就无法推断出来了。而且,由于一般在使用UPDATE的RETURNING语句时,都会返回主键列,而主键列一般都是不会修改的,因此确实不清楚Oracle返回的是UPDATE之前的结果还是之后的结果。
当然,一个简单的例子就可以测试出来:
SQL& CREATE TABLE T (ID NUMBER, NAME VARCHAR2(30));
表已创建。
SQL& SET SERVEROUT ON
SQL& DECLARE
2 V_NAME VARCHAR2(30);
3 BEGIN
4 INSERT INTO T VALUES (1, 'YANGTK') RETURNING NAME INTO V_NAME;
5 DBMS_OUTPUT.PUT_LINE('INSERT: ' || V_NAME);
6 V_NAME := NULL;
7 UPDATE T SET NAME = 'YTK' RETURNING NAME INTO V_NAME;
8 DBMS_OUTPUT.PUT_LINE('UPDATE: ' || V_NAME);
9 V_NAME := NULL;
10 DELETE T RETURNING NAME INTO V_NAME;
11 DBMS_OUTPUT.PUT_LINE('DELETE: ' || V_NAME);
12 END;
13 /
INSERT: YANGTK
UPDATE: YTK
DELETE: YTK
PL/SQL 过程已成功完成。
显然,UPDATE操作的RETURNING语句是返回UPDATE操作之后的结果。
顺便总结几个RETURNING操作相关的问题:
1.RETURNING语句似乎和RETURN通用。
SQL& SET SERVEROUT ON
SQL& DECLARE
2 V_NAME VARCHAR2(30);
3 BEGIN
4 INSERT INTO T VALUES (1, 'YANGTK') RETURN NAME INTO V_NAME;
5 DBMS_OUTPUT.PUT_LINE('INSERT: ' || V_NAME);
6 V_NAME := NULL;
7 UPDATE T SET NAME = 'YTK' RETURN NAME INTO V_NAME;
8 DBMS_OUTPUT.PUT_LINE('UPDATE: ' || V_NAME);
9 V_NAME := NULL;
10 DELETE T RETURN NAME INTO V_NAME;
11 DBMS_OUTPUT.PUT_LINE('DELETE: ' || V_NAME);
IXDBA.NET技术社区
12 END;
13 /
INSERT: YANGTK
UPDATE: YTK
DELETE: YTK
PL/SQL 过程已成功完成。
2.RETURNING语句也可以使用SQLPLUS的变量,这样,RETURNING语句不一定非要用在PL/SQL语句中。
SQL& VAR V_NAME VARCHAR2(30)
SQL& INSERT INTO T VALUES (1, 'YANGTK') RETURNING NAME INTO :V_NAME;
已创建 1 行。
SQL& PRINT V_NAME
V_NAME
--------------------------------
YANGTK
SQL& UPDATE T SET NAME = 'YTK' RETURNING NAME INTO :V_NAME;
已更新 1 行。
SQL& PRINT V_NAME
V_NAME
--------------------------------
YTK
SQL& DELETE T RETURNING NAME INTO :V_NAME;
已删除 1 行。
SQL& PRINT V_NAME
V_NAME
--------------------------------
YTK
3.INSERT INTO VALUES语句支持RETURNING语句,而INSERT INTO SELECT语句不支持。MERGE语句不支持RETURNING语句。
SQL& MERGE INTO T USING (SELECT * FROM T) T1
2 ON (T.ID = T1.ID)
3 WHEN MATCHED THEN UPDATE SET NAME = T1.NAME
4 WHEN NOT MATCHED THEN INSERT VALUES (T1.ID, T1.NAME)
5 RETURNING NAME INTO :V_NAME;
RETURNING NAME INTO :V_NAME
*第 5 行出现错误:
ORA-00933: SQL 命令未正确结束
SQL& INSERT INTO T SELECT * FROM T RETURNING NAME INTO :V_NAME;
INSERT INTO T SELECT * FROM T RETURNING NAME INTO :V_NAME
*第 1 行出现错误:
ORA-00933: SQL 命令未正确结束
这两个限制确实不大方便。不知道Oracle在以后版本中是否会放开。
个人感觉RETURNING语句和BULK COLLECT INTO语句配合使用的机会更多一些。
浏览: 185262 次
来自: 杭州
!运算符呢?
我特意登录了一下 !!!!!
很有用, 学习了,谢谢!
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'本帖子已过去太久远了,不再提供回复功能。1. Oracle安装完成后的初始口令?    internal/oracle  sys/change_on_install  system/manager  scott/tiger  sysman/oem_temp    2. ORACLE9IAS WEB CACHE的初始默认用户和密码?    administrator/administrator    3. oracle 8.0.5怎样创建数据库?    用orainst。如果有motif界面,可以用orainst /m    4. oracle 8.1.7怎幺创建数据库?    dbassist    5. oracle 9i 怎幺创建数据库?    dbca    6. oracle中的裸设备指的是什幺?    裸设备就是绕过文件系统直接访问的储存空间    7. oracle如何区分 64-bit/32bit 版本???    $ sqlplus '/ AS SYSDBA'     SQL*Plus: Release 9.0.1.0.0 - Production on Mon Jul 14 17:01:09 2003     (c) Copyright 2001 Oracle Corporation. All rights reserved.     Connected to:       Oracle9i Enterprise Edition Release 9.0.1.0.0 - Production       With the Partitioning option     JServer Release 9.0.1.0.0 - Production     SQL& select * from v$      BANNER       ----------------------------------------------------------------     Oracle9i Enterprise Edition Release 9.0.1.0.0 - Production     PL/SQL Release 9.0.1.0.0 - Production       CORE 9.0.1.0.0 Production     TNS for Solaris: Version 9.0.1.0.0 - Production     NLSRTL Version 9.0.1.0.0 - Production     SQL&    8. SVRMGR什幺意思?    svrmgrl,Server Manager.     9i下没有,已经改为用SQLPLUS了     sqlplus /nolog     变为归档日志型的    9. 请问如何分辨某个用户是从哪台机器登陆ORACLE的?    SELECT machine , terminal FROM V$SESSION;    10. 用什幺语句查询字段呢?    desc table_name 可以查询表的结构     select field_name,... from ... 可以查询字段的值    select * from all_tables where table_name like '%'     select * from all_tab_columns where table_name='??'    11. 怎样得到触发器、过程、函数的创建脚本?    desc user_source    user_triggers     12. 怎样计算一个表占用的空间的大小?    select owner,table_name,     NUM_ROWS,     BLOCKS*AAA/ &Size M&,     EMPTY_BLOCKS,     LAST_ANALYZED     from dba_tables     where table_name='XXX';     Here: AAA is the value of db_block_     XXX is the table name you want to check    13. 如何查看最大会话数?    SELECT * FROM V$PARAMETER WHERE NAME LIKE 'proc%';    SQL&     SQL& show parameter processes     NAME TYPE VALUE     ------------------------------------ ------- ------------------------------     aq_tm_processes integer 1     db_writer_processes integer 1     job_queue_processes integer 4     log_archive_max_processes integer 1     processes integer 200     这里为200个用户。    select * from v$     其中sessions_highwater纪录曾经到达的最大会话数    14. 如何查看系统被锁的事务时间?    select * from v$locked_    15. 如何以archivelog的方式运行oracle。    init.ora     log_archive_start = true    RESTART DATABASE    16. 怎幺获取有哪些用户在使用数据库    select username from v$    17. 数据表中的字段最大数是多少?    表或视图中的最大列数为 1000    18. 怎样查得数据库的SID ?    select name from v$     也可以直接查看 init.ora文件    19. 如何在Oracle服务器上通过SQLPLUS查看本机IP地址 ?    select sys_context('userenv','ip_address')    如果是登陆本机数据库,只能返回127.0.0.1,呵呵    20. unix 下怎幺调整数据库的时间?    su -root     date -u     21. 在ORACLE TABLE中如何抓取MEMO类型字段为空的资料记录?    select remark from oms_flowrec where trim(' ' from remark)    22. 如何用BBB表的资料去更新AAA表的资料(有关联的字段)    UPDATE AAA SET BNS_SNM=(SELECT BNS_SNM FROM BBB WHERE AAA.DPT_NO=BBB.DPT_NO) WHERE BBB.DPT_NO IS NOT NULL;    23. P4计算机安装方法    将SYMCJIT.DLL改为SYSMCJIT.OLD    24. 何查询SERVER是不是OPS?    SELECT * FROM V$OPTION;    如果PARALLEL SERVER=TRUE则有OPS能    25. 何查询每个用户的权限?    SELECT * FROM DBA_SYS_PRIVS;    26. 如何将表移动表空间?    ALTER TABLE TABLE_NAME MOVE TABLESPACE_NAME;    27. 如何将索引移动表空间?    ALTER INDEX INDEX_NAME REBUILD TABLESPACE TABLESPACE_NAME;    28. 在LINUX,UNIX下如何激活DBA STUDIO?    OEMAPP DBASTUDIO    29. 查询锁的状况的对象有?    V$LOCK, V$LOCKED_OBJECT, V$SESSION, V$SQLAREA, V$PROCESS ;    查询锁的表的方法:    SELECT S.SID SESSION_ID, S.USERNAME, DECODE(LMODE, 0, 'None', 1, 'Null', 2, 'Row-S (SS)', 3, 'Row-X (SX)', 4, 'Share', 5, 'S/Row-X (SSX)', 6, 'Exclusive', TO_CHAR(LMODE)) MODE_HELD, DECODE(REQUEST, 0, 'None', 1, 'Null', 2, 'Row-S (SS)', 3, 'Row-X (SX)', 4, 'Share', 5, 'S/Row-X (SSX)', 6, 'Exclusive', TO_CHAR(REQUEST)) MODE_REQUESTED, O.OWNER||'.'||O.OBJECT_NAME||' ('||O.OBJECT_TYPE||')', S.TYPE LOCK_TYPE, L.ID1 LOCK_ID1, L.ID2 LOCK_ID2 FROM V$LOCK L, SYS.DBA_OBJECTS O, V$SESSION S WHERE L.SID = S.SID AND L.ID1 = O.OBJECT_ID ;    30. 如何解锁?    ALTER SYSTEM KILL SESSION &SID,SERIR#&;    31. SQLPLUS下如何修改编辑器?    DEFINE _EDITOR=&&编辑器的完整路经&& -- 必须加上双引号来定义新的编辑器,也可以把这个写在$ORACLE_HOME/sqlplus/admin/glogin.sql里面使它永久有效。    32. ORACLE产生随机函数是?    DBMS_RANDOM.RANDOM    33. LINUX下查询磁盘竞争状况命令?    Sar -d    33. LINUX下查询CPU竞争状况命令?    sar -r    34. 查询当前用户对象?    SELECT * FROM USER_OBJECTS;    SELECT * FROM DBA_SEGMENTS;    35. 如何获取错误信息?    SELECT * FROM USER_ERRORS;    36. 如何获取链接状况?    SELECT * FROM DBA_DB_LINKS;    37. 查看数据库字符状况?    SELECT * FROM NLS_DATABASE_PARAMETERS;    SELECT * FROM V$NLS_PARAMETERS;    38. 查询表空间信息?    SELECT * FROM DBA_DATA_FILES;    39. ORACLE的INTERAL用户要口令?    修改 SQLNET.ORA    SQLNET.AUTHENTICATION_SERVICES=(NTS)    40. 出现JAVA.EXE的解决办法?    一般是将ORACLEORAHOMEXIHTTPSERVER改成手工激活可以的    X是8或9    41. 如何给表、列加注释?    SQL&comment on table 表 is '表注释';注释已创建。    SQL&comment on column 表.列 is '列注释';注释已创建。    SQL& select * from user_tab_comments where     42. 如何查看各个表空间占用磁盘情况?    SQL& col tablespace format a20    SQL& select     b.file_id 文件ID号,    b.tablespace_name 表空间名,    b.bytes 字节数,    (b.bytes-sum(nvl(a.bytes,0))) 已使用,    sum(nvl(a.bytes,0)) 剩余空间,    sum(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比     from dba_free_space a,dba_data_files b     where a.file_id=b.file_id     group by b.tablespace_name,b.file_id,b.bytes     order by b.file_id    43. 如把ORACLE设置为MTS或专用模式?    #dispatchers=&(PROTOCOL=TCP) (SERVICE=SIDXDB)& 加上就是MTS,注释就是专用模式,SID是指你的实例名。    44. 如何才能得知系统当前的SCN号 ?    select max(ktuxescnw * power(2, 32) + ktuxescnb) from x$    45. 请问如何在ORACLE中取毫秒?    9i之前不支持,9i开始有timestamp.    9i可以用select sy&46. 如何在字符串里加回车? 
   select 'Welcome to visit'  chr(10)  'www.CSDN.NET'
  47. 中文是如何排序的?
   Oracle9i之前,中文是按照二进制编码进行排序的。    在oracle9i中新增了按照拼音、部首、笔画排序功能。设置NLS_SORT值    SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序    SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺序)排序    SCHINESE_PINYIN_M 按照拼音排序
  48. Oracle8i中对象名可以用中文吗?  
   可以  
  49. 如何改变WIN中SQL*Plus启动选项?
  SQL*PLUS自身的选项设置我们可以在$ORACLE_HOME/sqlplus/admin/glogin.sql中设置。  
  50. 怎样修改oracel数据库的默认日期?
   alter session set nls_date_format='yyyymmddhh24miss';    OR    可以在init.ora中加上一行    nls_date_format='yyyymmddhh24miss'  
  51. 如何将小表放入keep池中?
   alter table xxx storage(buffer_pool keep);
  52. 如何检查是否安装了某个patch?
   check that oraInventory  
  53. 如何使select语句使查询结果自动生成序号?
  select rownum,COL  
  54. 如何知道数据裤中某个表所在的tablespace?
  select tablespace_name from user_tables where table_name='TEST';    select * from user_tables中有个字段TABLESPACE_NAME,(oracle);    select * from dba_segments where &;
  55. 怎么可以快速做一个和原表一样的备份表?
   create table new_table as (select * from old_table);  
  55. 怎么在sqlplus下修改procedure? 
   select line,trim(text) t from user_source where name =&A&  
  56. 怎样解除PROCEDURE被意外锁定?
   alter system kill session ,把那个session给杀掉,不过你要先查出她的session id or    把该过程重新改个名字就可以了。
  57. SQL Reference是个什么东西?
   是一本sql的使用手册,包括语法、函数等等,oracle官方网站的文档中心有下载.  
  58. 如何查看数据库的状态?
   unix下    ps -ef   grep ora    windows下    看服务是否起来    是否可以连上数据库
  59. 请问如何修改一张表的主键?
  alter table aaa   drop constraint aaa_   alter table aaa   add constraint aaa_key primary key(a1,b1) ;  
  60. 改变数据文件的大小?
  用 ALTER DATABASE .... DATAFILE .... ;   手工改变数据文件的大小,对于原来的 数据文件有没有损害。  
  61. 怎样查看ORACLE中有哪些程序在运行之中?
   查看v$sessions表      62. 怎么可以看到数据库有多少个tablespace?  
  select * from dba_
  63. 如何修改oracle数据库的用户连接数? 
  修改initSID.ora,将process加大,重启数据库.
  64. 如何查出一条记录的最后更新时间?
   可以用logminer 察看  
  65. 如何在PL/SQL中读写文件?
  UTL_FILE包允许用户通过PL/SQL读写操作系统文件。
  66. 怎樣把&&&放入一條記錄中? 
  insert into a values (translate ('at{&}t','at{}','at'));  
  67. EXP 如何加QUERY参数? 
  EXP USER/PASS FILE=A.DMP TABLES(BSEMPMS)   QUERY='&WHERE EMP_NO=/'S09394/'/& ﹔  
  68. 关于oracle8i支持简体和繁体的字符集问题?  
   ZHS16GBK可以支  
  69. Data Guard是什么软件? 
  就是Standby的换代产品
  70. 如何創建SPFILE?
  SQL& connect / as sysdba    SQL& select * from v$    SQL& crea   SQL& CREATE SPFILE FROM PFILE='E:/ora9i/admin/eygle/pfile/init.ora';   文件已创建。   SQL& CREATE SPFILE='E:/ora9i/database/SPFILEEYGLE.ORA' FROM PFILE='E:/ora9i/admin/eygle/pfile/init.ora';   文件已创建。
  71. 內核參數的應用?
  shmmax     含义:这个设置并不决定究竟Oracle数据库或者操作系统使用多少物理内存,只决定了最多可以使用的内存数目。这个设置也不影响操作系统的内核资源。     设置方法:0.5*物理内存     例子:Set shmsys:shminfo_shmmax=     shmmin     含义:共享内存的最小大小。     设置方法:一般都设置成为1。     例子:Set shmsys:shminfo_shmmin=1:     shmmni     含义:系统中共享内存段的最大个数。     例子:Set shmsys:shminfo_shmmni=100     shmseg     含义:每个用户进程可以使用的最多的共享内存段的数目。     例子:Set shmsys:shminfo_shmseg=20:     semmni     含义:系统中semaphore identifierer的最大个数。     设置方法:把这个变量的值设置为这个系统上的所有Oracle的实例的init.ora中的最大的那个processes的那个值加10。     例子:Set semsys:seminfo_semmni=100     semmns     含义:系统中emaphores的最大个数。     设置方法:这个值可以通过以下方式计算得到:各个Oracle实例的initSID.ora里边的processes的值的总和(除去最大的Processes参数)+最大的那个Processes&2+10&Oracle实例的个数。     例子:Set semsys:seminfo_semmns=200     semmsl:     含义:一个set中semaphore的最大个数。     设置方法:设置成为10+所有Oracle实例的InitSID.ora中最大的Processes的值。     例子:Set semsys:seminfo_semmsl=-200 
  72. 怎样查看哪些用户拥有SYSDBA、SYSOPER权限?
  SQL&conn sys/change_on_install   SQL&select * from V_$PWFILE_USERS;
  73. 如何单独备份一个或多个表?
   exp 用户/密码 tables=(表1,&,表2)
  74. 如何单独备份一个或多个用户?
   exp system/manager owner=(用户1,用户2,&,用户n) file=导出文件
  75. 如何对CLOB字段进行全文检索?
  SELECT * FROM A WHERE dbms_lob.instr(a.a,'K',1,1)&0;  
  76. 如何显示当前连接用户?
   SHOW USER
  77. 如何查看数据文件放置的路径 ?
  col file_name format a50
  SQL& select tablespace_name,file_id,bytes/,file_name from dba_data_files order by file_
  78. 如何查看现有回滚段及其状态 ?
  SQL& col segment format a30   SQL& SELECT SEGMENT_NAME,OWNER,TABLESPACE_NAME,SEGMENT_ID,FILE_ID,STATUS FROM DBA_ROLLBACK_SEGS
  79. 如何改变一个字段初始定义的Check范围?
  SQL& alter table xxx drop constraint constraint_   之后再创建新约束:   SQL& alter table xxx add constraint constraint_name check();  
  80. Oracle常用系统文件有哪些? 
  通过以下视图显示这些文件信息:v$database,v$datafile,v$logfile v$controlfile v$ 
  81. 內連接INNER JOIN?
  Select a.* from bsempms a,bsdptms b where a.dpt_no=b.dpt_  
  82. 如何外連接?
   Select a.* from bsempms a,bsdptms b where a.dpt_no=b.dpt_no(+);    Select a.* from bsempms a,bsdptms b wherea.dpt_no(+)=b.dpt_  
  83. 如何執行腳本SQL文件? 
   SQL&@$PATH/filename.  
  84. 如何快速清空一個大表?
  SQL&truncate table table_  
  85. 如何查有多少個數据庫實例?
   SQL&SELECT * FROM V$INSTANCE;
  86. 如何查詢數据庫有多少表?
  SQL&select * from all_
  87. 如何測試SQL語句執行所用的時間?
  SQL&    SQL&select *
88. CHR()的反函數是? 
   ASCII()    SELECT CHAR(65) FROM DUAL;    SELECT ASCII('A') FROM DUAL;
  89. 字符串的連接
   SELECT CONCAT(COL1,COL2) FROM TABLE ;    SELECT COL1  COL2 FROM TABLE ;
  90. 怎么把select出来的结果导到一个文本文件中?  
   SQL&SPOOL C:/ABCD.TXT;    SQL&select *    SQL &
  91. 怎样估算SQL执行的I/O数 ?
   SQL&SET AUTOTRACE ON ;    SQL&SELECT * FROM TABLE;    OR    SQL&SELECT * FROM v$    可以查看IO数  
  92. 如何在sqlplus下改变字段大小?
   alter table table_name modify (field_name varchar2(100));    改大行,改小不行(除非都是空的)
  93. 如何查询某天的数据?
   select * from table_name where trunc(日期字段)=to_date('','yyyy-mm-dd');
  94. sql 语句如何插入全年日期? 
  create table BSYEAR (d date);   insert into BSYEAR   select to_date('','yyyymmdd')+rownum-1   from all_objects   where rownum &= to_char(to_date('','yyyymmdd'),'ddd'); 
  95. 如果修改表名?
   alter table old_table_name rename to new_table_  
  96. 如何取得命令的返回状态值? 
  sqlcode=0  
  97. 如何知道用户拥有的权限?
   SELECT * FROM dba_sys_
  98. 从网上下载的ORACLE9I与市场上卖的标准版有什么区别?  
   从功能上说没有区别,只不过oracle公司有明文规定;从网站上下载的oracle产品不得用于 商业用途,否则侵权。
  99. 怎样判断数据库是运行在归档模式下还是运行在非归档模式下?  
  进入dbastudio,历程--〉数据库---〉归档查看。 
  100. sql&startup pfile和ifile,spfiled有什么区别?  
  pfile就是Oracle传统的初始化参数文件,文本格式的。   ifile类似于c语言里的include,用于把另一个文件引入   spfile是9i里新增的并且是默认的参数文件,二进制格式   startup后应该只可接pfile 
  101. 如何搜索出前N条记录? 
  SELECT * FROM empLOYEE WHERE ROWNUM & n   ORDER BY
  102. 如何知道机器上的Oracle支持多少并发用户数?   SQL&    SQL&show   
  103. db_block_size可以修改嗎? 
   一般不可以﹐不建議這樣做的。  
  104. 如何统计两个表的记录总数?
   select (select count(id) from aa)+(select count(id) from bb) 总数  
  105. 怎样用Sql语句实现查找一列中第N大值?
   select * from    (select t.*,dense_rank() over (order by sal) rank from employee)    where rank = N;
  106. 如何在给现有的日期加上2年?
(select add_months(sysdate,24)
  107. USED_UBLK为负值表示什么意思?
   It is &harmless&. 
  108. Connect string是指什么?
   应该是tnsnames.ora中的服务名后面的内容  
  109. 怎样扩大REDO LOG的大小?
   建立一个临时的redolog组,然后切换日志,删除以前的日志,建立新的日志。   110. tablespace 是否不能大于4G?    没有限制.
  111. 返回大于等于N的最小整數值?
   SELECT CEIL(N) FROM DUAL;
  112. 返回小于等于N的最小整數值?
   SELECT FLOOR(N) FROM DUAL;  
  113. 返回當前月的最后一天?
   SELECT LAST_DAY(SYSDATE) FROM DUAL; 
  114. 如何不同用戶間數據導入?
   IMP SYSTEM/MANAGER FILE=AA.DMP FROMUSER=USER_OLD TOUSER=USER_NEW ROWS=Y INDEXES=Y ;  
  115. 如何找数据库表的主键字段的名称?
   SQL&SELECT * FROM user_constraints WHERE CONSTRAINT_TYPE='P' and table_name='TABLE_NAME'; 
  116. 兩個結果集互加的函數?
   SQL&SELECT * FROM BSEMPMS_OLD INTERSECT SELECT * FROM BSEMPMS_NEW;    SQL&SELECT * FROM BSEMPMS_OLD UNION SELECT * FROM BSEMPMS_NEW;    SQL&SELECT * FROM BSEMPMS_OLD UNION ALL SELECT * FROM BSEMPMS_NEW;
  117. 兩個結果集互減的函數?
   SQL&SELECT * FROM BSEMPMS_OLD MINUS SELECT * FROM BSEMPMS_NEW;
  118. 如何配置Sequence?
   建sequence seq_custid    create sequence seq_custid start 1 incrememt by 1;    建表时:    create table cust    { cust_id smallint not null,    ...}    insert 时:    insert into table cust    values( seq_cust.nextval, ...)      日期的各部分的常用的的寫法 
  119&.取時間點的年份的寫法:
   SELECT TO_CHAR(SYSDATE,'YYYY') FROM DUAL;
  120&.取時間點的月份的寫法:
   SELECT TO_CHAR(SYSDATE,'MM') FROM DUAL;
  121&.取時間點的日的寫法:
   SELECT TO_CHAR(SYSDATE,'DD') FROM DUAL;
  122&.取時間點的時的寫法:
   SELECT TO_CHAR(SYSDATE,'HH24') FROM DUAL; 
  123&.取時間點的分的寫法:
   SELECT TO_CHAR(SYSDATE,'MI') FROM DUAL;
  124&.取時間點的秒的寫法:
   SELECT TO_CHAR(SYSDATE,'SS') FROM DUAL;  
  125&.取時間點的日期的寫法:
   SELECT TRUNC(SYSDATE) FROM DUAL;  
  126&.取時間點的時間的寫法:
   SELECT TO_CHAR(SYSDATE,'HH24:MI:SS') FROM DUAL;
  127&.日期,時間形態變為字符形態
   SELECT TO_CHAR(SYSDATE) FROM DUAL;  
  128&.將字符串轉換成日期或時間形態:
   SELECT TO_DATE('') FROM DUAL;
  129&.返回參數的星期几的寫法:
   SELECT TO_CHAR(SYSDATE,'D') FROM DUAL;  
  130&.返回參數一年中的第几天的寫法:
   SELECT TO_CHAR(SYSDATE,'DDD') FROM DUAL;  
  131&.返回午夜和參數中指定的時間值之間的秒數的寫法:
   SELECT TO_CHAR(SYSDATE,'SSSSS') FROM DUAL;
  132&.返回參數中一年的第几周的寫法:
   SELECT TO_CHAR(SYSDATE,'WW') FROM DUAL; 
133. CURRVAL 和 nextval
   为表创建序列    CREATE SEQUENCE EMPSEQ ... ;    SELECT empseq.currval FROM DUAL ;    自动插入序列的数值    INSERT INTO emp    VALUES (empseq.nextval, 'LEWIS', 'CLERK',    7902, SYSDATE, 1200, NULL, 20) ;  
  134. ROWNUM
   按设定排序的行的序号    SELECT * FROM emp WHERE ROWNUM & 10 ; 
  135. ROWID
   返回行的物理地址    SELECT ROWID, ename FROM emp WHERE deptno = 20 ; 
  136. 将N秒转换为时分秒格式?
   set serverout on    declare    N number := 1000000;    ret varchar2(100);    begin    ret := trunc(n/3600)    '小时'    to_char(to_date(mod(n,3600),'sssss'),'fmmi&分 &ss&秒&') ;    dbms_output.put_line(ret);     
  137. 如何查询做比较大的排序的进程?
   SELECT b.tablespace, b.segfile#, b.segblk#, b.blocks, a.sid, a.serial#,    a.username, a.osuser, a.status    FROM v$session a,v$sort_usage b    WHERE a.saddr = b.session_addr    ORDER BY b.tablespace, b.segfile#, b.segblk#, b.  
  138. 如何查询做比较大的排序的进程的SQL语句?
   select /*+ ORDERED */ sql_text from v$sqltext a    where a.hash_value = (    select sql_hash_value from v$session b    where b.sid = &sid and b.serial# = serial)     
  139. 如何查找重复记录?
   SELECT * FROM TABLE_NAME    WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME D    WHERE TABLE_NAME.COL1=D.COL1 AND TABLE_NAME.COL2=D.COL2);   
  140. 如何删除重复记录?
   DELETE FROM TABLE_NAME    WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME D    WHERE TABLE_NAME.COL1=D.COL1 AND TABLE_NAME.COL2=D.COL2);   
  141. 如何快速编译所有视图?
   SQL &SPOOL VIEW1.SQL    SQL &SELECT &ALTER VIEW &  TNAME  &    COMPILE;& FROM TAB;    SQL &SPOOL OFF    然后执行VIEW1.SQL即可。    SQL &@VIEW1.SQL; 
  142. ORA-01555 SNAPSHOT TOO OLD的解决办法
   增加MINEXTENTS的值,增加区的大小,设置一个高的OPTIMAL值。  
  143. 事务要求的回滚段空间不够,表现为表空间用满(ORA-01560错误),回滚段扩展到达参数 MAXEXTENTS的值(ORA-01628)的解决办法.
   向回滚段表空间添加文件或使已有的文件变大;增加MAXEXTENTS的值。   
  144. 如何加密ORACLE的存储过程?
   下列存储过程内容放在AA.SQL文件中    create or replace procedure testCCB(i in number) as    begin    dbms_output.put_line('输入参数是'  to_char(i));       SQL&wrap iname=a.    PL/SQL Wrapper: Release 8.1.7.0.0 - Production on Tue Nov 27 22:26:48 2001    Copyright (c) Oracle Corporation . All Rights Reserved.    Processing AA.sql to AA.plb    运行AA.plb    SQL& @AA. 
  145. 如何监控事例的等待?
   select event,sum(decode(wait_Time,0,0,1)) &Prev&,    sum(decode(wait_Time,0,1,0)) &Curr&,count(*) &Tot&    from v$session_Wait    group by event order by 4;   
  146. 如何回滚段的争用情况?
   select name, waits, gets, waits/gets &Ratio&    from v$rollstat C, v$rollname D    where C.usn = D.   
  147. 如何监控表空间的 I/O 比例?
   select B.tablespace_name name,B.file_name &file&,A.phyrds pyr,    A.phyblkrd pbr,A.phywrts pyw, A.phyblkwrt pbw    from v$filestat A, dba_data_files B    where A.file# = B.file_id    order by B.tablespace_  
  148. 如何监控文件系统的 I/O 比例?
   select substr(C.file#,1,2) &#&, substr(C.name,1,30) &Name&,    C.status, C.bytes, D.phyrds, D.phywrts    from v$datafile C, v$filestat D    where C.file# = D.file#;   
  149. 如何在某个用户下找所有的索引?
   select user_indexes.table_name, user_indexes.index_name,uniqueness, column_name    from user_ind_columns, user_indexes    where user_ind_columns.index_name = user_indexes.index_name    and user_ind_columns.table_name = user_indexes.table_name    order by user_indexes.table_type, user_indexes.table_name,    user_indexes.index_name, column_
  150. 如何监控 SGA 的命中率?
   select a.value + b.value &logical_reads&, c.value &phys_reads&,    round(100 * ((a.value+b.value)-c.value) / (a.value+b.value)) &BUFFER HIT RATIO&    from v$sysstat a, v$sysstat b, v$sysstat c    where a.statistic# = 38 and b.statistic# = 39    and c.statistic# = 40;   
  151. 如何监控 SGA 中字典缓冲区的命中率?
   select parameter, gets,Getmisses , getmisses/(gets+getmisses)*100 &miss ratio&,    (1-(sum(getmisses)/ (sum(gets)+sum(getmisses))))*100 &Hit ratio&    from v$rowcache    where gets+getmisses &&0    group by parameter, gets,   
  152. 如何监控 SGA 中共享缓存区的命中率,应该小于1% ?
   select sum(pins) &Total Pins&, sum(reloads) &Total Reloads&,    sum(reloads)/sum(pins) *100 libcache    from v$    select sum(pinhits-reloads)/sum(pins) &hit radio&,sum(reloads)/sum(pins) &reload percent&    from v$   
  153. 如何显示所有数据库对象的类别和大小?
   select count(name) num_instances ,type ,sum(source_size) source_size ,    sum(parsed_size) parsed_size ,sum(code_size) code_size ,sum(error_size) error_size,    sum(source_size) +sum(parsed_size) +sum(code_size) +sum(error_size) size_required    from dba_object_size    group by type order by 2;
  154. 监控 SGA 中重做日志缓存区的命中率,应该小于1%
   SELECT name, gets, misses, immediate_gets, immediate_misses,    Decode(gets,0,0,misses/gets*100) ratio1,    Decode(immediate_gets+immediate_misses,0,0,    immediate_misses/(immediate_gets+immediate_misses)*100) ratio2    FROM v$latch WHERE name IN ('redo allocation', 'redo copy');
  155. 监控内存和硬盘的排序比率,最好使它小于 .10,增加 sort_area_size
   SELECT name, value FROM v$sysstat WHERE name IN ('sorts (memory)', 'sorts (disk)');  
  156. 如何监控当前数据库谁在运行什么SQL语句?
   SELECT osuser, username, sql_text from v$session a, v$sqltext b    where a.sql_address =b.address order by address,   
  157. 如何监控字典缓冲区?
   SELECT (SUM(PINS - RELOADS)) / SUM(PINS) &LIB CACHE& FROM V$LIBRARYCACHE;    SELECT (SUM(GETS - GETMISSES - USAGE - FIXED)) / SUM(GETS) &ROW CACHE& FROM V$ROWCACHE;   SELECT SUM(PINS) &EXECUTIONS&, SUM(RELOADS) &CACHE MISSES WHILE EXECUTING& FROM V$LIBRARYCACHE;    后者除以前者,此比率小于1%,接近0%为好。    SELECT SUM(GETS) &DICTIONARY GETS&,SUM(GETMISSES) &DICTIONARY CACHE GET MISSES&    FROM V$ROWCACHE   
  158. 监控 MTS
   select busy/(busy+idle) &shared servers busy& from v$    此值大于0.5时,参数需加大    select sum(wait)/sum(totalq) &dispatcher waits& from v$queue where type='dispatcher';    select count(*) from v$    select servers_highwater from v$    servers_highwater接近mts_max_servers时,参数需加大  
  159. 如何知道当前用户的ID号?
   SQL&SHOW USER;    OR    SQL&s  
  160. 如何查看碎片程度高的表?
   SELECT segment_name table_name , COUNT(*) extents    FROM dba_segments WHERE owner NOT IN ('SYS', 'SYSTEM') GROUP BY segment_name    HAVING COUNT(*) = (SELECT MAX( COUNT(*) ) FROM dba_segments GROUP BY segment_name);
  162. 如何知道表在表空间中的存储情况?
   select segment_name,sum(bytes),count(*) ext_quan from dba_extents where    tablespace_name='&tablespace_name' and segment_type='TABLE' group by tablespace_name,segment_  
  163. 如何知道索引在表空间中的存储情况?
   select segment_name,count(*) from dba_extents where segment_type='INDEX' and owner='&owner'    group by segment_  
  164、如何知道使用CPU多的用户session?
   11是cpu used by this session    select a.sid,spid,status,substr(a.program,1,40) prog,a.terminal,osuser,value/60/100 value    from v$session a,v$process b,v$sesstat c    where c.statistic#=11 and c.sid=a.sid and a.paddr=b.addr  
  165. 如何知道监听器日志文件?
   以8I为例    $ORACLE_HOME/NETWORK/LOG/LISTENER.LOG  
  166. 如何知道监听器参数文件?
   以8I为例    $ORACLE_HOME/NETWORK/ADMIN/LISTENER.ORA  
  167. 如何知道TNS 连接文件?
   以8I为例    $ORACLE_HOME/NETWORK/ADMIN/TNSNAMES.ORA  
  168. 如何知道Sql*Net 环境文件?
   以8I为例    $ORACLE_HOME/NETWORK/ADMIN/SQLNET.ORA  
  169. 如何知道警告日志文件?
   以8I为例    $ORACLE_HOME/ADMIN/SID/BDUMP/SIDALRT.LOG 
  170. 如何知道基本结构?
   以8I为例    $ORACLE_HOME/RDBMS/ADMIN/STANDARD.SQL  
  171. 如何知道建立数据字典视图?
   以8I为例    $ORACLE_HOME/RDBMS/ADMIN/CATALOG.SQL  
  172. 如何知道建立审计用数据字典视图?
   以8I为例    $ORACLE_HOME/RDBMS/ADMIN/CATAUDIT.SQL  
  173. 如何知道建立快照用数据字典视图?
   以8I为例    $ORACLE_HOME/RDBMS/ADMIN/CATSNAP.SQL
  本讲主要讲的是SQL语句的优化方法! 主要基于ORACLE9I的.
  174. /*+ALL_ROWS*/
   表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.    例如:    SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='CCBZZP'; 
  175. /*+FIRST_ROWS*/
   表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.    例如:    SELECT /*+FIRST_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='CCBZZP';
  176. /*+CHOOSE*/
   表明如果数据字典中有访问表的统计信息,将基于开销的优化方法,并获得最佳的吞吐量;    表明如果数据字典中没有访问表的统计信息,将基于规则开销的优化方法;    例如:    SELECT /*+CHOOSE*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='CCBZZP';  
  177. /*+RULE*/
   表明对语句块选择基于规则的优化方法.    例如:    SELECT /*+ RULE */ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='CCBZZP';  
  178. /*+FULL(TABLE)*/
   表明对表选择全局扫描的方法.    例如:    SELECT /*+FULL(A)*/ EMP_NO,EMP_NAM FROM BSEMPMS A WHERE EMP_NO='CCBZZP'; 
  179. /*+ROWID(TABLE)*/
   提示明确表明对指定表根据ROWID进行访问.    例如:    SELECT /*+ROWID(BSEMPMS)*/ * FROM BSEMPMS WHERE ROWID&='AAAAAAAAAAAAAA'    AND EMP_NO='CCBZZP'; 
  180. /*+CLUSTER(TABLE)*/
   提示明确表明对指定表选择簇扫描的访问方法,它只对簇对象有效.    例如:    SELECT /*+CLUSTER */ BSEMPMS.EMP_NO,DPT_NO FROM BSEMPMS,BSDPTMS    WHERE DPT_NO='TEC304' AND BSEMPMS.DPT_NO=BSDPTMS.DPT_NO; 
  181. /*+INDEX(TABLE INDEX_NAME)*/
   表明对表选择索引的扫描方法.    例如:    SELECT /*+INDEX(BSEMPMS SEX_INDEX) USE SEX_INDEX BECAUSE THERE ARE FEWMALE BSEMPMS */ FROM BSEMPMS WHERE SEX='M';  
  182. /*+INDEX_ASC(TABLE INDEX_NAME)*/
   表明对表选择索引升序的扫描方法.    例如:    SELECT /*+INDEX_ASC(BSEMPMS PK_BSEMPMS) */ FROM BSEMPMS WHERE DPT_NO='CCBZZP'; 
  183. /*+INDEX_COMBINE*/
   为指定表选择位图访问路经,如果INDEX_COMBINE中没有提供作为参数的索引,将选择出位图索引的布尔组合方式.    例如:    SELECT /*+INDEX_COMBINE(BSEMPMS SAL_BMI HIREDATE_BMI)*/ * FROM BSEMPMS    WHERE SAL&5000000 AND HIREDATE   184. /*+INDEX_JOIN(TABLE INDEX_NAME)*/
   提示明确命令优化器使用索引作为访问路径.    例如:    SELECT /*+INDEX_JOIN(BSEMPMS SAL_HMI HIREDATE_BMI)*/ SAL,HIREDATE    FROM BSEMPMS WHERE SAL&60000;  
  185. /*+INDEX_DESC(TABLE INDEX_NAME)*/
   表明对表选择索引降序的扫描方法.    例如:    SELECT /*+INDEX_DESC(BSEMPMS PK_BSEMPMS) */ FROM BSEMPMS WHERE DPT_NO='CCBZZP';
  186. /*+INDEX_FFS(TABLE INDEX_NAME)*/
   对指定的表执行快速全索引扫描,而不是全表扫描的办法.    例如:    SELECT /*+INDEX_FFS(BSEMPMS IN_EMPNAM)*/ * FROM BSEMPMS WHERE DPT_NO='TEC305'; 
  187. /*+ADD_EQUAL TABLE INDEX_NAM1,INDEX_NAM2,...*/
   提示明确进行执行规划的选择,将几个单列索引的扫描合起来.    例如:    SELECT /*+INDEX_FFS(BSEMPMS IN_DPTNO,IN_EMPNO,IN_SEX)*/ * FROM BSEMPMS WHERE EMP_NO='CCBZZP' AND DPT_NO='TDC306'; 
  188. /*+USE_CONCAT*/
   对查询中的WHERE后面的OR条件进行转换为UNION ALL的组合查询.   例如:    SELECT /*+USE_CONCAT*/ * FROM BSEMPMS WHERE DPT_NO='TDC506' AND SEX='M';  
  189. /*+NO_EXPAND*/
   对于WHERE后面的OR 或者IN-LIST的查询语句,NO_EXPAND将阻止其基于优化器对其进行扩展.    例如:    SELECT /*+NO_EXPAND*/ * FROM BSEMPMS WHERE DPT_NO='TDC506' AND SEX='M'; 
  190. /*+NOWRITE*/
   禁止对查询块的查询重写操作. 
  191. /*+REWRITE*/
   可以将视图作为参数. 
  192. /*+MERGE(TABLE)*/
   能够对视图的各个查询进行相应的合并.    例如:    SELECT /*+MERGE(V) */ A.EMP_NO,A.EMP_NAM,B.DPT_NO FROM BSEMPMS A (SELET DPT_NO    ,AVG(SAL) AS AVG_SAL FROM BSEMPMS B GROUP BY DPT_NO) V WHERE A.DPT_NO=V.DPT_NO    AND A.SAL&V.AVG_SAL;  
  193. /*+NO_MERGE(TABLE)*/
   对于有可合并的视图不再合并.    例如:    SELECT /*+NO_MERGE(V) */ A.EMP_NO,A.EMP_NAM,B.DPT_NO FROM BSEMPMS A (SELET DPT_NO    ,AVG(SAL) AS AVG_SAL FROM BSEMPMS B GROUP BY DPT_NO) V WHERE A.DPT_NO=V.DPT_NO    AND A.SAL&V.AVG_SAL;
  194. /*+ORDERED*/
   根据表出现在FROM中的顺序,ORDERED使ORACLE依此顺序对其连接.    例如:    SELECT /*+ORDERED*/ A.COL1,B.COL2,C.COL3 FROM TABLE1 A,TABLE2 B,TABLE3 C    WHERE A.COL1=B.COL1 AND B.COL1=C.COL1; 
  195. /*+USE_NL(TABLE)*/
   将指定表与嵌套的连接的行源进行连接,并把指定表作为内部表.    例如:    SELECT /*+ORDERED USE_NL(BSEMPMS)*/ BSDPTMS.DPT_NO,BSEMPMS.EMP_NO,BSEMPMS.EMP_NAM FROM BSEMPMS,BSDPTMS WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO; 
  196. /*+USE_MERGE(TABLE)*/
   将指定的表与其他行源通过合并排序连接方式连接起来.   例如:    SELECT /*+USE_MERGE(BSEMPMS,BSDPTMS)*/ * FROM BSEMPMS,BSDPTMS WHERE    BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;  
  197. /*+USE_HASH(TABLE)*/
   将指定的表与其他行源通过哈希连接方式连接起来.    例如:    SELECT /*+USE_HASH(BSEMPMS,BSDPTMS)*/ * FROM BSEMPMS,BSDPTMS WHERE    BSEMPMS.DPT_NO=BSDPTMS.DPT_NO; 
  198. /*+DRIVING_SITE(TABLE)*/
   强制与ORACLE所选择的位置不同的表进行查询执行.    例如:    SELECT /*+DRIVING_SITE(DEPT)*/ * FROM BSEMPMS,DEPT@BSDPTMS WHERE BSEMPMS.DPT_NO=DEPT.DPT_NO;
  199. /*+LEADING(TABLE)*/
   将指定的表作为连接次序中的首表. 
  200. /*+CACHE(TABLE)*/
   当进行全表扫描时,CACHE提示能够将表的检索块放置在缓冲区缓存中最近最少列表LRU的最近使用端    例如:    SELECT /*+FULL(BSEMPMS) CAHE(BSEMPMS) */ EMP_NAM FROM BSEMPMS; 
  201. /*+NOCACHE(TABLE)*/
   当进行全表扫描时,CACHE提示能够将表的检索块放置在缓冲区缓存中最近最少列表LRU的最近使用端    例如:    SELECT /*+FULL(BSEMPMS) NOCAHE(BSEMPMS) */ EMP_NAM FROM BSEMPMS;      202. /*+APPEND*/
   直接插入到表的最后,可以提高速度.    insert /*+append*/ into test1 select * from test4 ;
  203. /*+NOAPPEND*/
   通过在插入语句生存期内停止并行模式来启动常规插入.    insert /*+noappend*/ into test1 select * from test4 ;
ORACLE內部函數篇
  204. 如何得到字符串的第一個字符的ASCII值?
   ASCII(CHAR)    SELECT ASCII('ABCDE') FROM DUAL;    結果: 65 
  205. 如何得到數值N指定的字符?
   CHR(N)    SELECT CHR(68) FROM DUAL;    結果: D 
  206. 如何連接兩個字符串?
   CONCAT(CHAR1,CHAR2)    SELECT CONCAT('ABC','DEFGH') FROM DUAL;    結果: 'ABCDEFGH'  
  207. 如何將列中的數值代替為字符串?
   DECODE(CHAR,N1,CHAR1,N2,CHAR2...)    SELECT DECODE(DAY,1,'SUN',2,'MON') FROM DUAL;  
  208. INITCAP(CHAR)
   將字符串CHAR的第一個字符為大寫,其余為小寫.    SELECT INITCAP('ABCDE') FROM DUAL; 
  209. LENGTH(CHAR)
   取一字符串CHAR的長度.    SELECT LENGTH('ABCDE') FROM DUAL;  
  210. LOWER(CHAR)
   將字符串CHAR全部變為小寫.    SELECT LOWER('ABCDE') FROM DUAL;  
  211. LPAD(CHAR1,N,CHAR2)
   用字符串CHAR2包括的字符左填CHAR1,使其長度為N.    SELECT LPAD('ABCDEFG',10'123') FROM DUAL;    結果: '123ABCDEFG'  
  212. LTRIM(CHAR,SET)
   從字符串CHAR的左邊移去字符串SET中的字符,直到第一個不是SET中的字符為止.    SELECT ('CDEFG','CD') FROM DUAL;    結果: 'EFG'  
  213. NLS_INITCAP(CHAR)
   取字符CHAR的第一個字符大寫,其余字符為小寫.    SELECT NLS_INITCAP('ABCDE') FROM DUAL;  
  214. NLS_LOWER(CHAR)
   將字符串CHAR包括的字符全部小寫.    SELECT NLS_LOWER('AAAA') FROM DUAL;  
  215. NLS_UPPER(CHAR)
   將字符串CHAR包括的字符全部大寫.    SELECT NLS_UPPER('AAAA') FROM DUAL;  
  216. REPLACE(CHAR1,CHAR2,CHAR3)
   用字符串CHAR3代替每一個列值為CHAR2的列,其結果放在CHAR1中.    SELECT REPLACE(EMP_NO,'123','456') FROM DUAL;  
  217. RPAD(CHAR1,N,CHAR2)
   用字符串CHAR2右填字符串CHAR1,使其長度為N.    SELECT RPAD('234',8,'0') FROM DUAL; 
  218. RTRIM(CHAR,SET)
   移去字符串CHAR右邊的字符串SET中的字符,直到最后一個不是SET中的字符為止.    SELECT RTRIM('ABCDE','DE') FROM DUAL;  
  219. SUBSTR(CHAR,M,N)
   得到字符串CHAR從M處開始的N個字符. 雙字節字符,一個漢字為一個字符的.    SELECT SUBSTR('ABCDE',2,3) FROM DUAL;  
  220. SUBSTRB(CHAR,M,N)
   得到字符串CHAR從M處開始的N個字符. 雙字節字符,一個漢字為二個字符的.    SELECT SUBSTRB('ABCDE',2,3) FROM DUAL;  
  221. TRANSLATE(CHAR1,CHAR2,CHAR3)
   將CHAR1中的CHAR2的部分用CHAR3代替.    SELECT TRANSLATE('ABCDEFGH','DE','MN') FROM DUAL;  
  222. UPPER(CHAR)
   將字符串CHAR全部為大寫.  
  223. ADD_MONTHS(D,N)
   將N個月增加到D日期.    SELECT ADD_MONTHS(SYSDATE,5) FROM DUAL;  
  224. LAST_DAY(D)
   得到包含D日期的月份的最后的一天的日期.    SELECT LAST_DAY(SYSDATE) FROM DUAL;  
  225. MONTH_BETWEEN(D1,D2)
   得到兩個日期之間的月數.    SELECT MONTH_BETWEEN(D1,D2) FROM DUAL; 
  226. NEXT_DAY(D,CHAR)
   得到比日期D晚的由CHAR命名的第一個周日的日期.    SELECT NEXT_DAY(TO_DATE(''),'SATDAY') FROM DUAL; 
  227. ROUNT(D,FMT)
   得到按指定的模式FMT舍入到的最進的日期.    SELECT ROUNT('',MONTH) FROM DUAL; 
  228. SYSDATE
   得到當前系統的日期和時間.    SELECT SYSDATE FROM DUAL;
  229. TO_CHAR(D,FMT)
   將日期D轉換為FMT的字符串.    SELECT TO_CHAR(SYSDATE,'YYYY/MM/DD') FROM DUAL;  
  230. TO_DATE(CHAR,FMT)
   將字符串CHAR按FMT的格式轉換為日期.    SELECT TO_DATE('','YYYY/MM/DD') FROM DUAL; 
  231. ABS(N)
   得到N的絕對值.    SELECT ABS(-6) FROM DUAL;  
  232. CEIL(N)
   得到大于或等于N的最大整數.    SELECT CEIL(5.6) FROM DUAL;  
  233. COS(N)
   得到N的余弦值.    SELECT COS(1) FROM DUAL;  
  234. SIN(N)
   得到N的正弦值.    SELECT SIN(1) FROM DUAL;  
  235. COSH(N)
   得到N的雙曲余弦值.    SELECT COSH(1) FROM DUAL;  
  236. EXP(N)
   得到N的E的N次冪.    SELECT EXP(1) FROM DUAL;  
  237. FLOOR(N)
   得到小于或等于N的最小整數.    SELECT FLOOR(5.6) FROM DUAL; 
  238. LN(N)
   得到N的自然對數.    SELECT LN(1) FROM DUAL;  
  239. LOG(M,N)
   得到以M為底N的對數.    SELECT LOG(2,8) FROM DUAL;  
  240. MOD(M,N)
   得到M除以N的余數.    SELECT MOD(100,7) FROM DUAL; 
  241. POWER(M,N)
   得到M的N冪.    SELECT POWER(4,3) FROM DUAL;  
  242. ROUND(N,M)
   將N舍入到小數點后M位.    SELECT (78.87653,2) FROM DUAL;  
  243. SIGN(N)
   當N&0時,得到-1;    當N&0時,得到1;    當N=0時,得到0;    SELECT SIGN(99) FROM DUAL;
  244. SINH(N)
   得到N的雙曲正弦值.    SELECT SINH(1) FROM DUAL;  
  245. SORT(N)
   得到N的平方根,N&=0    SELECT SORT(9) FROM DUAL;  
  246. TAN(N)
   得到N的正切值.    SELECT TAN(0) FROM DUAL;  
  247. TANH(N)
   得到N的雙曲正切值.    SELECT TANH(0) FROM DUAL;  
  248. TRUNC(N,M)
   得到在M位截斷的N的值.    SELECT TRUNC(7.7788,2) FROM DUAL;  
  249. COUNT()
   計算滿足條件的記錄數.    SELECT COUNT(*) FROM TABLE1 WHERE COL1='AAA';  
  250. MAX()
   對指定的列求最大值.    SELECT MAX(COL1) FROM TABLE1;  
  251. MIN()
   對指定的列求最小值.    SELECT MIN(COL1) FROM TABLE1;  
  252. AVG()
   對指定的列求平均值.    SELECT AVG(COL1) FROM TABLE1;  
  253. SUM()
   計算列的和.    SELECT SUM(COL1) FROM DUAL;  
  254. TO_NUMBER(CHAR)
   將字符轉換為數值.    SELECT TO_NUMBER('999') FROM DUAL;
 9I管理的V$视图。
  281. V$ACCESS 
   显示当前被锁定的数据库中的对象及正在访问他们的会话.  
  282. V$ACTIVE_INSTANCES 
   为当前安装的数据库中出现的所有实例建立从实例名到实例号的映射. 
  283. V$ACTIVE_SESS_POOL_MTH  
   所有活动的会话池资源分配方法. 
  284. V$AQ  
   当前数据库中的队列的统计量. 
  285. V$ARCHIVE 
   归档所需的重做日志文件中的信息.  
  286. V$ARCHIVE_DEST 
   当前实例的所有归档日志目的文件及它们的当前值,模式,状态.  
  287. V$ARCHIVE_PROCESSES 
   为一个实例提供不同的ARCH进程状态的信息. 
  288. V$ARCHIVE_LOG  
   控制文件中的归档日志信息. 
  289. V$BACKUP  
   所有联机数据文件的备份状态.  
  290. V$BACKUP_ASYNC_IO  
   从控制文件中显示备份集的信息. 
  291. V$BACKUP_CORRUPTION 
   从控制文件中显示数据文件备份中有关损坏的信息. 
  292. V$BACKUP_DATAFILE  
   从控制文件中显示备份数据文件和备份控制文件的信息. 
  293. V$BACKUP_DEVICE  
   显示关于支持备份设备的信息. 
  294. V$BACKUP_PIECE 
   从控制文件中显示备份块的信息.  
  295. V$BACKUP_REDOLOG 
   从控制文件中显示关于备份集中归档日志的信息. 
  296. V$BACKUP_SET  
   从控制文件中显示备份集的信息.
  297. V$BACKUP_SYNC_IO  
   从控制文件中显示备份集的信息. 
  298. V$BGPROCESS  
   描述后台进程.  
  299. V$BH  
   是9I的实时应用集群视图.为系统全局区中的每一个缓冲区给出了状态和探查次数. 
  300. V$BSP  
   显示用在缓存中块服务器后台进程上的统计信息. 
  301. V$BUFFER_POOL  
   显示实例缓冲池的信息.  
  302. V$BUFFER_POOL_STATISTICS  
   显示实例缓冲池的信息.  
  303. V$CACHE  
   包含当前实例的SGA中的每一个块的头部信息.  
  304. V$CACHE_LOCK  
   包含当前实例的SGA中的每一个块的头部信息. 和V$CACHE非常相似,除特使平台锁管理器标识符号不同外.  
  305. V$CACHE_TRANSFER 
   除了只显示那些被探查了至少一次的块的信息外,和V$CACHE功能相同.  
  306. V$CIRCUIT  
   包含关于虚电路的信息,是用户通过调度程序和服务器到数据库的所有连接.  
  307. V$CLASS_PING  
   显示每一个块类中被探查块的数目.  
  308. V$COMPATIBILITY  
   显示数据库实例使用的特征,可以阻止数据库回到早期的版本中去. 
  309. V$COMPATSEG  
   显示数据库实例使用的永久性特征,可以阻止数据库回到早期的版本中去.  
  310. V$CONTEXT  
   列出当前对话的设置属性. 
  311. V$CONTROLFILE  
   列出控制文件的名称.  
  312. V$CONTROLFILE_RECORD_SECTION  
   显示控制文件记录部分的信息. 
  313. V$COPY_CORRUPTION 
   显示控制文件中数据文件损坏的信息.  
  314. V$CR_BLOCK_SERVER 
   显示用在缓存中块服务器后台进程上的统计信息. 
  315. V$DATABASE 
   包含控制文件中数据库的信息. 
  316. V$DATAFILE 
   包含控制文件中数据库文件的信息. 
  317. V$DATAFILE_COPY 
   包含控制文件中数据库文件副本的信息. 
  318. V$DATAFILE_HEADER 
   显示数据文件头部的数据文件信息. 
  319. V$DB_CACHE_ADVICE 
   根据缓存的大小估计出物理读的数量.  
  320. V$DB_OBJECT_CACHE  
   缓存在库缓存中的数据库对象. 
  321. V$DB_PIPES 
   显示实例中的共享池当前描绘的管道. 
  322. V$DBFILE  
   列出组成数据库的所有数据文件. 
  323. V$DBLINK 
   查询会话所打开的所有数据库连接.  
  324. V$DELETED_OBJECT  
   显示控制文件中被删除归档日志. 
  325. V$DISPATCHER  
   提供调度进程的信息.  
  326. V$DISPATCHER_RATE  
   为调度进程提供优质提供速率统计量.  
  327. V$DLM_ALL_LOCKS  
   列出当前所有锁的信息.  
  328. V$DLM_CONVERT_LOCAL  
   本地锁转换操作所消耗的时间.  
  329. V$DLM_CONVERT_REMOTE  
   远程锁转换操作所消耗的时间.  
  330. V$DLM_LATCH  
   它是过时的,参见V$LATCH 
  331. V$DLM_LOCKS  
   这些是锁管理器已知的被阻塞或阻塞其他对象的锁信息. 
  332. V$DLM_MISC 
   显示多种DLM统计量. 
  333. V$DLM_RESS 
   显示当前锁管理器已知的全部资源的信息. 
  334. V$ENABLEDPRIVE
   显示被授予的特权. 
  335. V$ENQUEUE_LOCK  
   显示排队对象所拥有的全部锁. 
  336. V$EVENT_NAME  
   包含等待事件的信息. 
  337. V$EXECUTION  
   显示并行执行中的信息.  
  338. V$FALSE_PING 
   可能得到探查失败的缓冲区.  
  339. V$FAST_START_SERVERS  
   执行并行操作事务恢复的所有从属操作的信息. 
  340. V$FAST_START_TRANSACTIONS 
   恢复中的事务进展信息.  
  341. V$FILE_CACHE_TRANSFER  
   显示每个数据文件中探查的块的数量. 
  342. V$FILE_PING 
   显示每个数据文件被探查的块数目. 
  343. V$FILESTAT  
   包含文件关于读/写统计量信息. 
  344. V$FIXED_TABLE 
   显示数据库中所有动态性能表和视图及导出表.  
  345. V$FIXED_VIEW_DEFINITION 
   显示所有固定视图的定义. 
  346. V$GC_ELEMENTS_WITH_COLLISIONS 
   可以找到保护多缓存的锁.  
  347. V$GES_BLOCKING_ENQUEUE 
   这些是锁管理器已知的被阻塞或阻塞其他对象的锁信息. 
  348. V$GES_CONVERT_LOCAL
   本地锁转换操作所消耗的时间.  
  349. V$GES_CONVERT_REMOTE 
   远程锁转换操作所消耗的时间. 
  350. V$GES_ENQUEUE  
   显示当前锁管理员知道的所有的锁.  
  351. V$GES_LATCH  
   参见V$LATCH   
  352. V$GES_RESOURCE  
   显示当前锁管理器已知的全部资源的信息. 
  353. V$GES_STATISTICS  
   显示多种DLM统计量.  
  354. V$GLOBAL_BLOCKED_LOCKS  
   显示全局块锁. 
  355. V$GLOBAL_TRANSACTION 
   显示当前激活的全局事务的信息. 
  356. V$HS_AGENT  
   标识当前运行在一个给定的主机上的HS代理的集合. 
  357. V$HS_SESSION 
   ORACLE服务器打开的HS会话集. 
  358. V$INDEXED_FIXED_COLUMN  
   显示建立索引的动态性能表中的列(X$表).  
  359. V$INSTANCE  
   显示当前实例的状态. 
  360. V$INSTANCE_RECOVERY  
   用来监视执行用户指定恢复读次数的限制机制. 
  361. V$LATCH 
   为非双亲简易锁列出统计量. 
  362. V$LATCH_CHILDREN 
   关于子简易锁的统计量.  
  363. V$LATCH_MISSES 
   试图获得一个简易锁失败的统计量. 
  364. V$LATCH_PARENT  
   包含关于双亲简易锁的统计量. 
  365. V$LATCHHOLDER 
   当前简易锁持有者的信息. 
  366. V$LATCHNAME 
   包含关于显示在V$LATCH中的简易锁的解码简易锁名字的信息. 
  367. V$LIBRARYCACHE 
   关于高速缓存性能和活动的统计量. 
  368. V$LICENSE 
   许可证限制的信息.  
  369. V$LOADCSTAT 
   包含在一个直接装载执行过程中所编译的SQL*LOADER统计量. 
  370. V$LOCK  
   当前ORACLE所持有的锁.  
  371. V$LOCK_ACTIVITY  
   显示当前实例的DLM锁操作活动.  
  372. V$LOCK_ELEMENT  
   每一个被缓存使用的PCM锁在V$LOCK_ELEMENTS中都有一个条目.  
  373. V$LOCKED_OBJECT 
   列出每个事务所获得的全部锁.  
  374. V$LOCK_WITH_COLLISIONS  
   可以查询出保护多缓冲区的锁. 
  375. V$LOG 
   控制文件中日志文件的信息. 
  376. V$LOG_HISTORY 
   控制文件中日志文件的历史信息.  
  377. V$LOGFILE
   包含重做日志文件的信息. 
  378. V$LOGHIST  
   控制文件中日志文件的日志历史信息. 
  379. V$LOGMNR_CONTENTS  
   日志历史信息.  
  380. V$LOGMNR_DICTIONARY
   日志历史信息. 
  381. V$LOGMNR_LOGS 
   日志信息.  
  382. V$LOGMNR_PARAMETERS 
   日志信息. 
  383. V$MTS  
   包含调节多线程的服务器的信息. 
  384. V$MYSTAT 
   当前会话的统计量. 
  385. V$NLS_PARAMETERS 
   当前NLS参数信息. 
  386. V$NLS_VALID_VALUES  
   列出所有NLS参数的有效值. 
  387. V$OBJECT_DEPENDENCY 
   能够通过当前装载在共享池中的包,过程或游标来决定依赖哪一个对象.  
  388. V$OBJECT_USAGE  
   来监视索引的使用. 
  389. V$OBSOLETE_PARAMETER 
   列出陈旧的参数. 
  390. V$OFFINE_RANGE
   显示控制文件中数据文件的脱机信息. 
  391. V$OPEN_CURSOR 
   列出每一个会话当前打开的和解析的游标. 
  392. V$OPTION 
   列出ORACLE服务安装的状况. 
  393. V$PARALLEL_DEGREE_LIMIT_MTH 
   显示所有有效的并行度限制资源分配的方法.  
  394. V$PARAMETER 
   列出关于初始化参数的信息. 
  395. V$PARAMETER2 
   列出了当前影响会话的参数和参数值. 
  396. V$PGASTAT 
   列出ORACLE内存使用统计. 
  397. V$PING  
   与V$CACHE一样. 
  398. V$PQ_SESSTAT
   列出并行查询会话的统计信息. 
  399. V$PQ_SLAVE  
   一个实例上每个活动并行执行服务器的统计量. 
  400. V$PQ_SYSSTAT 
   列出并行查询的系统的统计量. 
9I管理的V$视图。  
  401. V$PQ_TQSTAT 
   包含并行执行操作上的统计量.帮助在一个查询中测定不平衡的问题. 
  402. V$PROCESS  
   包含关于当前活动进程的信息. 
  403. V$PROXY_ARCHIVEDLOG  
   包含归档日志备份文件的描述信息,这些备份文件带有一个称为PROXY副本的新特征. 
  404. V$PROXY_DATAFILE 
   包含数据文件和控制文件备份的描述信息,这些备份文件带有一个称为PROXY副本的新特征. 
  405. V$PWFILE_USERS  
   列出被授予SYSDBA和SYSOPER特权的用户. 
  406. V$PX_PROCESS 
   包含正在运行并行操作的会话的信息.  
  407. V$PX_PROCESS_SYSSTAT  
   包含正在运行并行操作的会话的信息.  
  408. V$PX_SESSION  
   包含正在运行并行操作的会话的信息.  
  409. V$PX_SESSTAT 
   包含正在运行并行操作的会话的信息.  
  410. V$QUEUE  
   包含多线程消息队列的信息.  
  411. V$QUEUEING_MTH 
   显示所有可用的查询资源分配方法.  
  412. V$RECOVER_FILE 
   显示需要介质恢复的文件状态.  
  413. V$RECOVERY_FILE_STATUS 
   包含对每个恢复命令的每一数据文件的一行信息. 
  414. V$RECOVERY_LOG 
   列出需要完成介质恢复的归档日志的信息.这个信息来自V$LOG_HISTORY
  415. V$RECOVERY_PROCESS 
   能够用来跟踪数据库恢复操作,以便他们不会被终止执行.也用来估算进程中完成这个操作所需的时间.
  416. V$RECOVERY_STATUS 
   包含当前恢复进程的统计量. 
  417. V$REQDIST  
   列出MTS调度程序请求次数的直方图的统计量.  
  418. V$RESERVED_WORDS 
   给出PL/SQL编译器所使用的关键字的列表. 
  419. V$RESOURCE 
   包含资源名和地址信息. 
  420. V$RESOURCE_LIMIT  
   显示系统资源的全局资源使用的信息. 
  421. V$ROLLNAME 
   列出所有联机回滚段的信息. 
  422. V$ROLLSTAT 
   包含回滚段的统计量. 
  423. V$ROWCACHE 
   显示活动数据字典的统计量.
  424. V$ROWCACHE_PARENT  
   显示数据字典中所有双亲对象的信息.  
  425. V$ROWCACHE_SUBORDINATE 
   显示数据字典中从属对象的信息. 
  426. V$RSRC_CONSUMER_GROUP 
   显示与当前活动资源消费者用户组相关联的数据. 
  427. V$RSRC_CONSUMER_GROUP_CPU_MTH 
   为资源消费者用户组显示所有可用的资源的分配方法. 
  428. V$RSRC_PLAN 
   显示当前所有活动资源方案的名称. 
  429. V$RSRC_PLAN_CPU_MTH  
   显示所有用于资源方案的可用CPU资源分配方法.
  430. V$SESS_IO 
   为每个用户会话列出I/O统计. 
  431. V$SESSION 
   列出当前每一个会话的会话信息. 
  432. V$SESSION_CONNECT_INFO  
   显示当前会话的网络连接的信息.  
  433. V$SESSION_CURSOR_CACHE 
   显示当前会话的游标用法的信息. 
  434. V$SESSION_EVENT 
   列出一个会话在等待一个事件的信息. 
  435. V$SESSION_LONGOPS 
   显示一个长时间运行操作的状态.  
  436. V$SESSION_OBJECT_CACHE 
   显示本地服务器上当前用户对话的对象高速缓存的统计量. 
  437. V$SESSION_WAIT 
   列出正在等待的活动会话的资源或事件. 
  438. V$SESSTAT  
   列出用户会话统计量. 
  439. V$SGA 
   包含系统全局区的总统计量.  
  440. V$SGASTAT  
   包含系统全局区的详细信息. 
  441. V$SHARED_POOL_RESERVED 
   列出能帮助你调节共享池中保留池和空间的统计量.  
  442. V$SHARED_SERVER  
   包含共享服务器进程的信息.  
  443. V$SHARED_SERVER_MONITOR  
   包含调试共享服务器进程的信息. 
  444. V$SORT_SEGMENT  
   包含一个给定实例中每一个排序段的信息. 
  445. V$SPPARAMETER 
   列出SPFILE的内容.  
  446. V$SQL 
   列出SQL共享区的统计量.  
  447. V$SQL_BIND_DATA 
   如果数据在服务器中可用,它将对查询这个视图的会话所拥有的每个游标中的每一个不同的连接变量,显示客户端发送的实际连接数据. 
  448. V$SQL_BIND_METADATA 
   对查询这个视图的会话所拥有的每个游标中的每一个不同的连接变量,显示客户端提供的连接元数据.  
  449. V$SQL_CURSOR  
   显示与查询这个视图的会话相关的每一个游标的DEBUG信息. 
  450. V$SQL_PLAN 
   包含装载到库缓存中每个子游标的执行计划信息. 
  451. V$SQL_SHARED_CURSOR  
   为啥一个特定的子游标没有与存在的子查询的共享的解释. 
  452. V$SQL_SHARED_MEMEORY  
   关于共享内存快照的游标的信息.  
  453. V$SQL_REDIRECTION  
   标识重定向的SQL语句.  
  454. V$SQL_WORKAREA  
   显示被SQL游标使用的工作区信息.  
  455. V$SQL_WORKAREA_ACTIVE 
   包含当前由系统分配的工作区的昫间信息. 
  456. V$SQLAREA  
   共享SQL的统计量. 
  457. V$SQLTEXT 
   包含SGA中属于共享SQL游标的SQL语句文本. 
  458. V$SQLTEXT_WITH_NEWLINES 
   不能用空格代替新行制表符外,和V$SQLTEXT功能一样. 
  459. V$STATNAME 
   显示V$SESSTAT和V$SYSTAT表中的统计量的译碼统计名字. 
  460. V$SUBCACHE 
   显示当前装载于库高速缓存中的从属高速缓存的信息. 
  461. V$SYSSTAT 
   列出系统统计量.  
  462. V$SYSTEM_CURSOR_CACHE 
   系统范围的信息. 
  463. V$SYSTEM_EVENT 
   包含等待一个事件的全部信息.  
  464. V$SYSTEM_PARAMETER 
   包含系统参数信息. 
  465. V$SYSTEM_PARAMETER2 
   ORACLE实例中当前影响的参数和参数的值. 
  466. V$TABLESPACE  
   控制文件中表空间的信息. 
  467. V$TEMP_CACHE_TRANSFER  
   显示每个数据文件中探查块的数量. 
  468. V$TEMP_EXTENT_MAP 
   显示所有临时表空间的每一个单元的状态信息. 
  469. V$TEMP_EXTENT_POOL 
   显示被一个给定实例使用的临时空间缓存的状态.  
  470. V$TEMP_PING  
   显示每一个数据文件探查的块数.  
  471. V$TEMP_SPACE_HEADER 
   显示每一个临时表空间中每一个文件的聚集信息,涉及每个空间首部中当前使用多少空间和有多少自由空间. 
  472. V$TEMPFILE 
   显示临时文件的信息.  
  473. V$TEMPORARY_LOBS 
   显示临时的LOB. 
  474. V$TEMPSTAT 
   包含文件读/写的统计信息. 
  475. V$THREAD  
   包含控制文件中的线程信息.  
  476. V$TIMER 
   列出以1%秒计的流逝时间. 
 477. V$TIMEZONE_NAMES 
   列出合法的时区名称.  
  478. V$TRANSACTION  
   列出系统中的活动事务. 
  479. V$TRANSACTION_ENQUEUE 
   显示事务状态对象所拥有的锁.  
 480. V$TYPE_SIZE  
   列出不同数据库组件的大小,以便用来估算数据块的容量大小. 
  481. V$UNDOSTAT  
   显示一个历史统计数据来显示系统工作的如何.  
  482. V$VERSION 
   列出ORACLE服务器中核心库组件的版本号.  
  483. V$VPD_POLICY 
   列出与当前在库缓存中的游标相关的所有安全策略. 
  484. V$WAITSTAT 
   列出块竞争统计量.
9I管理的数据字典DBA视图。  
  485. DBA_2PC_NEIGHBORS  
   包含未决事务的引入或流出的连接信息.  
  486. DBA_ALL_TABLES 
   显示数据库中所有表的描述. 
  487. DBA_APPLICATION_ROLES 
   所有的具有函数定义的验证策略的角色. 
  488. DBA_ASSOCIATIONS 
   显示用户定义的统计信息. 
  489. DBA_AUDIT_EXISTS 
   列出AUDIT NOT EXISTS和AUDIT EXISTS产生的审计跟踪. 
  490. DBA_AUDIT_OBJECT  
   系统中所有对象的审计跟踪记录.
  491. DBA_AUDIT_SESSION  
   列出关于CONNECT和DISCONNECT的所有审计跟踪信息.  
  492. DBA_AUDIT_STATEMENT       列出关于GRANT,REVOKE,AUDIT,NOAUDIT,ALTER SYSTEM语句的审计跟踪信息.
  493. DBA_AUDIT_TRAIL
   列出所有的审计跟踪条目.  
  494. DBA_BLOCKERS
   列出正有人等待一个会话持有的锁的所有会话,但并非它们自己在等待一个锁.
  495. DBA_BASE_TABLE_MVIEWS  
   描述数据库中所有的物化视图. 
  496. DBA_CATALOG 
   列出所有数据库标,视图,同义词和序列. 
  497. DBA_CLU_COLUMNS 
   列出表列到聚集列的映射. 
  498. DBA_CLUSTER_HASH_EXPRESSIONS 
   列出所有聚集的散列HASH函数. 
  499. DBA_CLUSTERS  
   包含数据库中所有聚集的描述. 
  500. DBA_COL_COMMENTS
   所有表和视图的列的注解. 
  501. DBA_COL_PRIVS 
   列出数据库中授予列的所有特权. 
  502. DBA_COLL_TYPES 
   显示数据库中所有命名的集合类型. 
  503. DBA_CONS_COLUMNS 
   包含在约束定义中的,可访问的列的信息.
  504. DBA_CONSTRAINTS 
   所有表上约束的定义. 
  505. DBA_CONTEXT  
   所有上下文名字空间的信息.  
  506. DBA_DATA_FILES  
   数据库文件的信息. 
  507. DBA_DB_LINKS  
   数据库中的所有数据库链接. 
  508. DBA_DDL_LOCKS 
   数据库所持有的所有的DDL锁.
  509. DBA_DEPENDENCIES 
   列出对象之间的依赖性. 
  510. DBA_DIM_ATTRIBUTES 
   代表维级和功能依赖的列之间的关系. 
  511. DBA_DIM_JOIN_KEY 
   代表两个维之间的连接.  
  512. DBA_DIM_LEVEL_KEY  
   代表一个维级的列. 
  513. DBA_DIM_LEVELS  
   代表一个维级. 
  514. DBA_DIMENSIONS
   代表维对象. 
  515. DBA_DIRECTORIES 
   提供数据库所有对象的信息. 
  516. DBA_DML_LOCKS 
   列出数据库中所有的DML锁,和对一个DML锁的所存未决请求.  
  517. DBA_ERRORS 
   列出数据库中所有存储的对象的当前错误. 
  518. DBA_EXP_FILES  
   包含导出文件的信息. 
  519. DBA_EXP_OBJECTS 
   列出以增量方式导出的对象.  
  520. DBA_EXP_VERSION 
   包含最后导出会话的版本号. 
  521. DBA_EXTENTS 
   列出数据库中组成所有段的信息. 
  522. DBA_EXTERNAL_TABLES  
   描述数据库中的所有的外部表. 
  523. DBA_FREE_SPACE  
   列出所有表空间中的空闲分区. 
  524. DBA_FREE_SPACE_COALESCED 
   包含表空间中合并空间的统计数据. 
  525. DBA_HISTOGRAMS 
   是DBA_TAB_HISTOGRAMS的同义词.  
  526. DBA_IND_COLUMNS 
   包含在所有表和聚集中组成索引的列的描述. 
  527. DBA_IND_EXPRESSIONS 
   包含在所有表和聚集中函数型索引的表达式. 
  528. DBA_IND_PARTITIONS 
   为每一个索引分区,描述分区级的分区信息,分区的存储参数和ANALYZE决定的各种分区统计数据. 
  529. DBA_IND_SUBPARTITIONS 
   为当前用户拥有的每一个索引分区,描述分区级的分区信息,分区的存储参数和ANALYZE决定的各种分区统计数据.  
  530. DBA_INDEXES 
   数据库中所有索引的描述.  
  531. DBA_INDEXTYPE_COMMENTS  
   数据库中所有的用户定义的索引类型.  
  532. DBA_INDEXTYPE_OPERATORS 
   列出索引类型支持的所有操作符.
  533. DBA_INDEXTYPES  
   所有的索引类型.  
  534. DBA_INTERNAL_TRIGGERS 
   数据库中所有的内部触发器.  
  535. DBA_JOBS 
   数据库中的所有的作业. 
  536. DBA_JOBS_RUNING  
   数据库中的所有当前运行的作业.  
  537. DBA_JOIN_IND_COLUMNS  
   描述数据库中的所有的连接条件.  
  538. DBA_KGLLOCK 
   列出在KGL对象上所有的锁和PINS. 
  539. DBA_LIBRARIES 
   列出数据库中的所有的库. 
  540. DBA_LOB_PARTITIONS  
   包含在表中的用户可访问的JOB. 
  541. DBA_LOB_SUBPARTITIONS 
   显示LOB数据子分区中的分区级属性. 
  542. DBA_LOBS 
   包含在所有表中的LOB.  
  543. DBA_LOCK_INTERNAL  
   包含每个被持有的锁或简易锁的一行信息,及每一个未决请求的一行信息. 
  544. DBA_LOCKS  
   列出数据库中持有的锁或简易锁,及每一个未决请求信息.   
  545. DBA_LOG_GROUP_COLUMNS 
   描述在日志组中指定的数据库中的所有列的信息. 
  546. DBA_METHOD_PARAMS  
   数据库中类型的方法参数的描述. 
  547. DBA_METHOD_RESULTS  
   数据库中所有类型的方法结果的描述. 
  548. DBA_MVIEW_AGGREGATES  
   在聚集实例化视图的SELECT列表中出现的分组函数.  
  549. DBA_MVIEW_ANALYSIS  
   代表潜在地支持查询重写.  
  550. DBA_MVIEW_LOG_FILTER_COLS 
   列出所有记录在物化视图日志中的所有列. 
  551. DBA_MVIEW_REFRESH_TIMES  
   描述在数据库中所有物化视图的刷新时间. 
  552. DBA_MVIEWS  
   描述在数据库中所有物化视图.  
  553. DBA_NESTED_TABLES  
   在所有表中嵌套表的描述.  
  554. DBA_OBJ_AUDIT_OPTS  
   列出一个用户所有对象的审计选项.  
  555. DBA_OBJECT_SIZE  
   列出各类对象用字节表示的大小.  
  556. DBA_OBJECT_TABLES  
   显示数据库中所有对象表的描述.
  557. DBA_OBJECTS 
   列出数据库中所有的对象. 
  558. DBA_OPANCILLARY  
   列出操作连接符的附加信息. 
  559. DBA_OPARGUMENTS 
   列出操作连接符的参数信息.  
  560. DBA_ORPHAN_KEY_TABLE  
   报告那些在基表下有坏块的索引中的键值.  
  561. DBA_OUTLINE_HINTS 
   列出组成概要的提示符.  
  562. DBA_OUTLINES  
   列出有关概要的信息. 
  563. DBA_PART_COL_STATISTICS 
   所有分区表的列统计数据和直方图信息. 
  564. DBA_PART_HISTOGRAMS 
   所有表分区上直方图的直方图数据.
  565. DBA_PART_INDEXES  
   所有分区索引的对象级分区信息. 
  566. DBA_PART_KEY_COLUMNS 
   所有分区对象的分区关键字列. 
  567. DBA_PART_LOBS  
   描述分区LOB的表级信息.  
  568. DBA_PART_TABLES 
   列出所有分区表的对象级分区信息. 
  569. DBA_PARTIAL_DROP_TABS 
   描述部分删除的表.  
  570. DBA_PENDING_TRANSACTIONS  
   提供关于未完成事务的信息. 
  571. DBA_POLICIES 
   列出数据库中的所有的安全策略.  
  572. DBA_PRIV_AUDIT_OPTS  
   通过系统和由用户审计的当前系统特权.  
  573. DBA_PROCEDURES  
   所有函数及过程和他们的相关属性.  
  574. DBA_PROFILES  
   显示所有启动文件及限制.  
  575. DBA_PROXIES  
   显示系统中所有代理连接的信息.  
  576. DBA_PUBLISHED_COLUMNS 
   描述所有存在源列的表.  
  577. DBA_QUEUE_SCHEDULES  
   描述当前传播信息的方案.  
  578. DBA_QUEUE_TABLES  
   描述在数据库中建立的所有队列表中的队列的名称和类型.  
  579. DBA_QUEUES  
   描述数据库中每一个队列的操作特性.  
  580. DBA_RCHILD  
   列出任何刷新组中的所有子组.  
  581. DBA_REFRESH  
   列出所有刷新组.  
  582. DBA_REFRESH_CHILDREN  
   列出刷新组中的所有对象.  
  583. DBA_REFS  
   数据库中所有表的对象类型列中的REF列和REF属性.  
  584. DBA_REGISTERED_MVIEW_GROUPS 
   列出了在该地点所有重组的物化视图.  
  585. DBA_REGISTERED_MVIEWS  
   数据库中所有注册了的物化视图.  
  586. DBA_REGISTERED_SNAPSHOT_GROUPS  
   列出该场地的所有快照登记组. 
  587. DBA_REGISTERED_SNAPSHOTS 
   检索本地表的远程快照的信息. 
  588. DBA_REPAIR_TABLE 
   通过DBA_REPAIR.CHECK_OBJECT过程发现的任何损坏.  
  589. DBA_RESUMABLE  
   列出了在系统中执行的可恢复的语句. 
  590. DBA_RGROUP 
   列出所有刷新组. 
  591. DBA_ROLE_PRIVS 
   列出授予用户角色的角色. 
  592. DBA_ROLES  
   数据库中存在的所有角色. 
  593. DBA_ROLLBACK_SEGS  
   包含回滚段的描述.  
  594. DBA_RSRC_CONSUMER_GROUP_PRIVS 
   列出所有已被授权的资源管理员消费组,用户和角色. 
  595. DBA_RSRC_CONSUMER_GROUPS 
   数据库中所有资源消费组. 
  596. DBA_RSRC_MANAGER_SYSTEM_PRIVS 
   列出所有已授予属于资源管理员系统特权的用户和角色. 
  597. DBA_RSRC_PLAN_DIRECTIVES  
   数据库中存在的所有资源计划的指示. 
  598. DBA_RSRC_PLANS  
   数据库中存在的所有资源计划. 
  599. DBA_SEGMENTS 
   分配给所有数据库段的存储信息.  
  600. DBA_SEQUENCES 
   数据库中所有序列的描述.  
  601. DBA_SNAPSHOT_LOG_FILTER_COLS  
   列出记录在快照日志上的所有过滤列. 
  602. DBA_SNAPSHOT_LOGS 
   数据库中所有的快照日志. 
  603. DBA_SNAPSHOT_REFRESH_TIMES 
   列出快照刷新次数. 
  604. DBA_SNAPSHOTS 
   数据库中所有的快照. 
  605. DBA_SOURCE  
   数据库中所有存储对象的来源. 
  606. DBA_SOURCE_TABLES 
   允许发行者查看所有现有的源表. 
  607. DBA_SQLJ_TYPE_ATTRS  
   数据库中所有关于SQLJ对象的所有属性.  
  608. DBA_SQLJ_TYPE_METHODS  
   数据库中所有类型的方法. 
  609. DBA_SQLJ_TYPES 
   数据库中所有关于SQLJ对象类型信息. 
  610. DBA_STMT_AUDIT_OPTS
   描述通过系统并由用户审计的当前系统审计选项. 
  611. DBA_STORED_SETTINGS  
   列出具有执行特权的存储PL/SQL单元的永久参数设置信息.  
  612. DBA_SUBPART_COL_STATISTICS  
   列出表子分区的列统计数据和直方图信息.  
  613. DBA_SUBPART_HISTOGRAMS  
   列出表子分区中直方图的实际数据. 
  614. DBA_SUBPART_KEY_COLUMNS
   允许发行者查看他们预定的所有发行的列. 
  615. DBA_SUBPART_TABLES 
   允许发行者查看他们预定的所有发行的表.  
  616. DBA_SUBSCRIPTIONS 
   允许发行者查看所有的预定. 
  617. DBA_SYNONYMS  
   数据库中所有同义词. 
  618. DBA_SYS_PRIVS  
   授予用户和角色的系统特权. 
  619. DBA_TAB_COL_STATISTICS  
   包含在DBA_TAB_COLUMNS视图中的列统计数据和直方图信息. 
  620. DBA_TAB_COLUMNS 
   所有表,视图和聚集的描述列的信息.  
  621. DBA_TAB_COMMENTS 
   数据库中所有列和表的注解. 
  622. DBA_TAB_HISTOGRAMS 
   所有表中列的直方图.  
  623. DBA_TAB_MODIFICATIONS 
   显示数据库中所有的上次统计后被修改了的表. 
  624. DBA_TAB_PARTITIONS
   对表的分区,描述它的分区级分区信息,分区的存储参数和由ANALYZE决定的各种分区统计数据.    625. DBA_TAB_PRIVS 
   列出授予用户的角色的系统特权. 
  626. DBA_TAB_SUBPARTITIONS 
   对表的子分区,描述它的分区级分区信息,分区的存储参数和由ANALYZE决定的各种分区统计数据.  
  627. DBA_TABLES  
   数据库中所有关系表的描述. 
  628. DBA_TABLESPACES 
   所有表空间的描述. 
  629. DBA_TEMP_FILES  
   数据库临时文件信息.  
  630. DBA_TRANSFORMATIONS
   数据库中所有消息传递信息. 
  631. DBA_TRIGGER_COLS 
   所有触发器列的用法. 
  632. DBA_TRIGGERS  
   数据库中所有的触发器.  
  633. DBA_TS_QUOTAS 
   所有用户的表空间的限额. 
  634. DBA_TYPE_ATTRS  
   数据库类型的属性. 
  635. DBA_TYPE_METHODS 
   描述数据库中所有类型的方法.  
  636. DBA_TYPES  
   数据库中所有的抽象数据类型. 
  637. DBA_UNDO_EXTENTS 
   在撤消表空间的每个范围的提交时间. 
  638. DBA_UNUSED_COL_TABS 
   对所有未使用列的描述.  
  639. DBA_UPDATABLE_COLUMNS 
   对可在一个连接视图中,由数据库管理员更新的列的描述. 
  640. DBA_USERS  
   数据库所有用户信息. 
  641. DBA_USTATS 
   当前用户信息.
  642. DBA_VARRAYS  
   用户可以访问的视图的文本.  
  643. DBA_VIEWS 
   数据库中所有视图的文本. 
  644. DBA_WAITERS 
   列出所有正在等待一个锁的会话,以及列出正在阻止它们获得该锁的会

我要回帖

更多关于 如何诊断sql语句问题 的文章

 

随机推荐