在oracle查询记录时给记录加锁

实现方法:

利用SELECT的FOR UPDATE子句实现

conn system/manager

--创建实验用户
grant connect,resource to test identified by test;

conn test/test

--创建实验表1
create table a(a number);
insert into a values(1);
commit;

select * from a for update;

select * from a for update of a.a;(a表的a列)

--新打开一个SQL*Plus窗口
conn test/test(test用户上的第二个会话)
delete from a;

此时,系统停顿状态,等待解锁,
只要在第一个窗口发出roll;或commit;命令,即可解除锁定状态。 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章