oracle(四) 常用语句

1.分页

select t2.*

from (select rownum row, t1.*  from your_table where rownum < ?) t2 

where t2.row > ?

 

2.查看oracle数据库的某个表上已经建立了那些索引

select index_name from dba_indexes where table_name='your_table';

 

3.如果表中有数据后给表增加约束会出现“无效的alter table选项”错误

alter table emp add constraint emp_pk primary key(empno);

改为:

alter table emp modify(empno int primary key);

 

4.增加/删除列

alter table emp add newCol varchar2(30);

alter table emp drop column newCol;

 

5.autotrace 

(1)set autotrace off 此为默认值,即关闭Autotrace
(2)set autotrace on explain 只显示执行计划
(3)set autotrace on statistic 只显示执行的统计信息
(4)set autotrace on 包含2,3两项内容
(5)set autotrace traceonly 与on相似,但不显示语句的执行结果。

 

6.设置列宽

col column_name format a30

 

7.改变会话隔离等级

alter session set isolation_level = serializable 

 

8.V$session taddr ,paddr 分别对应 v$transaction  addr,V$process addr

 

9.select count(*) from emp ;

如果建立索引,可以直接从索引得到答案。否则会全表扫描。

 

10.利用dbms_metadata.get_ddl查看DDL语句    select dbms_metadata.get_ddl('TABLE','EMP') from dual; 

FUNCTION get_ddl (

  object_type IN VARCHAR2,
  name IN VARCHAR2,
  schema IN VARCHAR2 DEFAULT NULL,
  version IN VARCHAR2 DEFAULT 'COMPATIBLE',
  model IN VARCHAR2 DEFAULT 'ORACLE',
  transform. IN VARCHAR2 DEFAULT 'DDL'

) RETURN CLOB; 

注意如果使用sqlplus需要进行下列格式化,特别需要对long进行设置,否则无法显示完整的SQL  

set pages 999
set long 90000    

 

 

 

 

posted @ 2013-09-17 12:00  等风来。。  Views(187)  Comments(0Edit  收藏  举报
------------------------------------------------------------------------------------------------------------ --------------- 欢迎联系 x.guan.ling@gmail.com--------------- ------------------------------------------------------------------------------------------------------------