ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 测试before触发器在执行触发器时是否已经对相应行加锁了

测试before触发器在执行触发器时是否已经对相应行加锁了

原创 Linux操作系统 作者:osdba 时间:2008-09-26 10:27:44 0 删除 编辑

测试结果:程序在开始执行before触发器时,已对该行加锁了。

SQL> conn sys/sys as sysdba;
已连接。
SQL> grant execute on dbms_lock to scott;

授权成功。

SQL> connect scott/tiger;
已连接。
SQL> CREATE OR REPLACE TRIGGER temp_air
  2    before update ON emp
  3    FOR EACH ROW
  4    BEGIN
  5        dbms_lock.sleep(200);
  6    END;
  7  /

触发器已创建

SQL> update emp set ename='TESTNAME' where empno=7902;
此时由触发器要等200秒,所以此处会等待200秒,
另开一个窗口:
SQL> select * from emp where empno=7902 for update;
发现被阻塞住了,说明程序在开始执行触发器时,已对该行加锁了。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/15145533/viewspace-464428/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-08-11

  • 博文量
    12
  • 访问量
    27871