搭建死鎖場景

csbin發表於2012-03-30

-- ① 建立表
create table tab_a (id number, name varchar2(255));
create table tab_b (id number, name varchar2(255));


-- ② 初始化資料
insert into tab_a values(1,'csb');
insert into tab_b values(1,'csb');


-- ③ 建立觸發器
create or replace trigger trg_tab_b
  after insert or update on tab_b for each row
declare
  pragma autonomous_transaction;
begin
  update tab_a t set t.id = :new.id;
  commit;
end;
/


-- ④ 製造死鎖
begin
  update tab_a t set t.id = t.id;
  update tab_b t set t.id = t.id;
end;
/

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/720091/viewspace-1057772/,如需轉載,請註明出處,否則將追究法律責任。

相關文章