当前位置: 代码迷 >> SQL >> 全员SQL运动(一) 精选必备SQL
  详细解决方案

全员SQL运动(一) 精选必备SQL

热度:58   发布时间:2016-05-05 14:28:59.0
全民SQL运动(一) 精选必备SQL
1. 查看被锁的表
select  s.sid, p.spid,a.serial#, c.object_name,b.session_id,b.oracle_username,b.os_user_name   from   v$process   p,v$session   a,   v$locked_object   b,all_objects   c   where   p.addr=a.paddr   and   a.process=b.process   and   c.object_id=b.object_id;  
  杀掉进程
alter   system     kill   session   'sid,serial#';


2. 如何给表、列加注释?
SQL>comment on table 表 is '表注释';
注释已创建。
SQL>comment on column 表.列 is '列注释';
注释已创建。
SQL> select * from user_tab_comments where comments is not null;

3. 怎样修改oracel数据库的默认日期?
SQL> alter session set nls_date_format='yyyymmddhh24miss';
或可以在init.ora中加上一行 nls_date_format='yyyymmddhh24miss'

4. 请问如何改变一个字段初始定义的Check范围,如何修改一张表的主键?
SQL> alter table xxx drop constraint constraint_name;
之后再创建新约束:
SQL> alter table xxx add constraint constraint_name check(); 
alter table aaa
drop constraint aaa_key ;
alter table aaa
add constraint aaa_key primary key(a1,b1) ;

5.如何在sqlplus下改变字段大小?
SQL>alter table table_name modify (field_name varchar2(100));

6.怎么把select出来的结果导到一个文本文件中?
SQL> SPOOL C:\TEST.TXT;
SQL> SELECT * FROM EMP;
SQL >spool off;

7.CHR()的反函数? ASCII()
select chr(10) from daul 回车
SQL> SELECT CHR(65) from DUAL;
SQL> SELECT ASCII('A') FROM DUAL;

8.如何测试SQL语句执行所用的时间?
SQL>set timing on;
SQL>select * from tablename;

9. 如何查询数据库有多少表? 
SQL>select * from all_tables;

10. 如何快速清空一个大表? (PS:不要做坏事)
SQL>truncate table table_name;

11. 如何执行脚本SQL文件?
SQL>@$PATH/filename.sql;
  相关解决方案