码迷,mamicode.com
首页 > 数据库 > 详细

整理一些用的sql命令

时间:2016-05-10 23:38:24      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:

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命令

标签:

原文地址:http://www.cnblogs.com/C3054/p/5479778.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!