欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

oracle死锁模拟

程序员文章站 2022-01-09 09:51:36
...

用PLSQL Developer新建一个command window窗口,执行

update A g set g.status='9' where seq_id in(3407144);

--休眠8秒

exec dbms_lock.sleep(8);

update A g set g.status='9' where seq_id in(3407146);

commit;

 

新建一个command window窗口,执行

update A g set g.status='4' where seq_id in(3407146);

--休眠20秒

exec dbms_lock.sleep(20);

update A g set g.status='4' where seq_id in(3407144);

 

commit;

 

 

两个相互锁的sql执行,两个执行sql的事务是一起提交的,最后查数据,发现两条记录最后的状态是4,说明以最后提交的数据为准