oracle 锁表处理
--查出所有被锁住的表
select b.owner TABLEOWNER, b.object_name TABLENAME, c.OSUSER LOCKBY, c.USERNAME LOGINID, c.sid SID, c.SERIAL# SERIAL
from v$locked_object a,dba_objects b, v$session c
where b.object_id = a.object_id AND a.SESSION_ID =c.sid;
--通过SID, SERIAL解锁
--alter system kill session 'SID, SERIAL';
相关文档:
数据库触发器
触发器语句
制定触发器定时、事件、表名及类型
触发器主体
是pl/sql快或对过程的调用
触发器限制
可以通过when子句实现
DML(insert update delete)
DDL(create alter drop)
数据库操作(servererror logo ......
需要大量oracle测试数据时,可以使用以下方法。
DECLARE
i INT;
BEGIN
i := 0;
WHILE(i < 100000)
LOOP
i := i + 1;
INSERT INTO TEST_TABLE(ID, XM) VALUES(i, '姓名' || i);
END LOOP;
COMMIT;
END; ......
oracle内置程序包
STANDARD和DBMS_STANDARD 定义和扩展PL/SQL语言环境
DBMS_ALERT 支持数据库事件的异步通知
DBMS_APPLICATION_INFO 允许为跟踪目的而注册应用程序
DBMS_AQ&DBMS_AQADM 管理oracle advanced queuing选件
DBMS_DEFER、DBMS_DEFER_SYS和DBMS_DEFER_QUERY 允许构建和管理延迟的远程过程调用
DBMS_DDL ......
现在在WEB 应用中使用分页技术越来越普遍了,其中利用数据库查询分页是一种效率比较高的方法,
下面列出了Oracle, DB2 及 MySQL 分页查询写法。
一:Oracle
select * from (select rownum,name from table where rownum <=endIndex )
where rownum > startIndex
二:DB2
DB2分页查询
SELECT * ......
select nvl2(replace(translate('69584.00.00','.0123456789','000000000000'),'0',''),'否','是') IsNumber from dual;
select id,nvl2(replace(translate(id,'.0123456789','000000000000'),'0',''),'否','是') IsNumber
from tbl2 ......