我们在使用Oracle数据库时会出现表锁住的现象,需要的的朋友可以参考一下1.查询锁定表 SELECT s.sid, s.serial# FROM v$locked_object lo, dba_objects ao, v$session s WHERE ao.object_id = lo.object_id AND lo.session_id = s.sid;2.删除锁定表ALTER system KILL session ‘132,16944‘原文:https://www.cnblogs.com/dsjbk/p/12667174.html
1.最高效的删除重复记录方法 (因为使用了ROWID) 例子: DELETE FROM EMP E WHERE E.ROWID > (SELECT MIN(X.ROWID) FROM EMP X WHERE X.EMP_NO = E.EMP_NO);2.在含有子查询的 SQL 语句中 , 要特别注意减少对表的查询 例子: SELECT TAB_NAME FROM TABLES WHERE (TAB_NAME,DB_VER) = (SELECT TAB_NAME,DB_VER FROM TAB_COLUMNS WHERE VERSION = 604)3.用 EXISTS 替代 I N 、用 NOT EXISTS 替代 NOT IN : 在许多基于基...
--查询Oracle正在执行的sql语句及执行该语句的用户[sql] view plaincopySELECT b.sid oracleID, b.username 登录Oracle用户名, b.serial#, spid 操作系统ID, paddr, sql_text 正在执行的SQL, b.machine 计算机名 FROM v$process a, v$session b, v$sqlarea c WHERE a.addr = b.paddr AND b.sql_hash_value = c.hash_value --查看正在执行sql的发起者的发放程序[sql] view ...
注意:不是每次执行的语句都会记录(如果执行的语句是能在该表找到的则ORACLE不会再次记录,就是说本次执行的语句和上次或者说以前的语句一模一样则下面语句就查不出来的):select last_load_time, sql_text from v$sql where module notin (‘jsenv.exe‘,‘w3wp.exe‘,‘SQL Developer‘) --and sql_text like ‘%"Extent1"."ENCOUNTERID"%‘ orderby last_load_time desc;select sql_text,last_load_time from v$sql orderb...
oracle中case when then及decode用法 一.case … when … then 语法: – 写法一: case(条件) when 值1 then 返回值1 when 值2 then 返回值2 else 缺省值 – 写法二: case when 条件1 then 返回值1 when 条件2 then 返回值2 else 缺省值 end;案例1: -- 如果部门编号为10的,显示为dept10 -- 如果部门编号为20的,显示为dept20 -- 如果部门编号为30的,显示为dept30 -- 否则显示为other -- 这一列查询的结果,列名显示...
本文主要是以实例形式介绍了Oracle查询中rownum与rowid的不同之处,以及以假设的方式为例,查询条件为rownum = 2,在查询出第一条记录时的具体内容的介绍。在查询中,我们可以注意到,类似于 select xx from table where rownum < n (n>1) 这样的查询是有正确含义的,而 select xx from table where rownum = n 这样的查询只在n=1的时候成立, select xx from table where rownum > n (n>1) 这样的查询只能得到一个空集。另外 se...
/*修改用户密码:1.输入cmd打开dos窗口2.sqlplus/nolog3.conn/as sysdba4.alter user system identified by orcl;*//**数据完整性指存储在数据库中的所有数据值均正确的状态。如果数据库中存储有不正确的数据值,则该数据库称为已丧失数据完整性*/CREATE TABLE tb_student(NAME VARCHAR2(18),sex CHAR(3),age INT,address VARCHAR2(100),phone VARCHAR2(30))SELECT * FROM tb_student;--不正确状态数据INSERT INTO tb_clazz(sex,age...
--以下几个为相关表SELECT * FROM v$lock;SELECT * FROM v$sqlarea;SELECT * FROM v$session;SELECT * FROM v$process ;SELECT * FROM v$locked_object;SELECT * FROM all_objects;SELECT * FROM v$session_wait;--查看被锁的表 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;--查看那个用户那个进程照成死锁select b.username,b.sid,b.serial#...
createtable emp2 ( empno number(4),ename varchar2(10),job varchar2(9),mgr number(4),hiredate date,sal number(7,2),comm number(7,2),deptno number(2) ); -----------------------------------------------------------------------------------------------------------insertinto emp2 (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7369, ‘SMITH‘, ‘CLERK‘, 7902, to_date(‘17-12-1980‘, ‘dd-m...
1-- 动态创建序列 2declare 3cursor c_job is 4select TABLE_NAME from user_tables;5 6 c_row c_job%rowtype;7 v_sql varchar2(200);8begin 9for c_row in c_job loop 10begin11 v_sql :=‘create sequence SEQ_‘|| c_row.TABLE_NAME; 12 dbms_output.put_line(v_sql); 13execute immediate v_sql; 14end; 15end loop; 1617end; 原文:http://www.cnblogs.com/jacktang/p/4353645.html
1.根据ROWID来分 select * from t_xiaoxi where rowid in(select rid from (select rownum rn,rid from(select rowid rid,cid fromt_xiaoxi order by cid desc) where rownum<10000) where rn>9980) order by cid desc; 执行时间0.03秒 2.按分析函数来分 select * from (select t.*,row_number() over(order by cid desc) rk from t_xiaoxi t) where rk<10000 and rk>9980; 执行时间1.01秒 3.按ROWNUM来分 select * from(select t...
类似这样的语句在mysql oracle 是可以执行成功的,select * from classfirst where (classid ,classname) not in (select classid, classname from classfirst where classid=2 )但是在sql server 中提示以下错误消息 4145,级别 15,状态 1,第 1 行在应使用条件的上下文(在 ‘,‘ 附近)中指定了非布尔类型的表达式。所以在日常的使用中对于sql server 还是使用and or 等语句原文:http://www.cnblogs.com/rongfengliang/p/370...
在开发过程中可能会用到oracle table demo 操作语句,本文将以此进行介绍,需要的朋友可以参考下Sql代码 复制代码 代码如下:-- Created on 2010/07/29 by WANGNAN declare -- Local variables here i1 VARCHAR2( 20) := ‘1‘ ; i2 VARCHAR2( 20) := ‘1‘ ; i3 VARCHAR2( 20) := ‘2‘ ; i4 VARCHAR2( 20) := ‘3‘ ; i5 VARCHAR2( 20) := ‘3‘ ; i6 VARCHAR2( 20) := ‘3‘ ; i7 VARCHAR2( 20) := ‘5‘ ; i_before VARCHAR2( 2...
--当前执行sql语句SELECT a.SID , a.SERIAL# , a.USERNAME , b.PARSE_CALLS , b.PARSING_SCHEMA_NAME , b.CPU_TIME / 1000000 , b.ELAPSED_TIME / 1000000 , b.DISK_READS , b.DIRECT_WRITES , b.BUFFER_GETS , a.event , b.sql_text , b.SQL_FULLTEXTFROM v$session a INNER JOIN v$sqlarea b ON a.SQL_HASH_VALUE = b.hash_valu...
createtable emp2 ( empno number(4),ename varchar2(10),job varchar2(9),mgr number(4),hiredate date,sal number(7,2),comm number(7,2),deptno number(2) ); -----------------------------------------------------------------------------------------------------------insertinto emp2 (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) values (7369, ‘SMITH‘, ‘CLERK‘, 7902, to_date(‘17-12-1980‘, ‘dd-m...