当前位置:Gxlcms > 数据库问题 > 整理一些用的sql命令

整理一些用的sql命令

时间:2021-07-01 10:21:17 帮助过:2人阅读

1、多表关联: -- 方法1. UPDATE  表2 SET   表2.C  =  (SELECT  B  FROM  表1  WHERE   表1.A = 表2.A) WHERE   EXISTS ( SELECT FROM   表1  WHERE   表1.A = 表2.A)       -- 方法2 MERGE INTO 表2  USING 表1 ON ( 表2.A = 表1.A )    -- 条件是 A 相同 WHEN MATCHED THEN UPDATE SET 表2.C = 表1.B   -- 匹配的时候,更新   2、pid查看进程   select b.spid, a.osuser, a.program   from v$session a, v$process b  where a.paddr = b.addr    and b.spid in (‘11435‘,‘4156‘,‘3997‘,‘3986‘,‘12623‘,‘11454‘)   3、查看锁表   --(1)锁表查询的代码有以下的形式:
select count(*) from v$locked_object;
select * from v$locked_object;
--(2)查看哪个表被锁
select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;
--(3)查看是哪个session引起的
select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time;        杀session alter system kill session ‘sid,serial#‘; 4、序列 CREATE SEQUENCE emp_sequence --序列名
INCREMENT BY 1 -- 每次加几个 
START WITH 1 -- 从1开始计数 
NOMAXVALUE -- 不设置最大值 
NOCYCLE -- 一直累加,不循环 
CACHE 10;
select emp_sequence.nextval from dual;--走到下一个序列
select emp_sequence.currval from dual;--当前在哪个值

  5、匹配数字  SELECT translate(‘12223aaa‘,‘/1234567890‘,‘/‘)  FROM   dual ;
未完
   

整理一些用的sql命令

标签:

人气教程排行