整理一些oracle用的sql命令

mac2022-06-30  24

1、多表关联: -- 方法1. UPDATE   表2 SET    表2.C  =  ( SELECT   B   FROM   表1   WHERE    表1.A = 表2.A) WHERE    EXISTS (  SELECT  1  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 ; 未完    

转载于:https://www.cnblogs.com/C3054/p/5479778.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)