SELECT … FOR UPDATE [OF columns]
[WAIT n | NOWAIT];數據庫
SELECT * FROM order_master WHERE vencode='V002' FOR UPDATE OF odate, del_date; UPDATE order_master SET del_date='28-8月-05' WHERE vencode=’V002’; COMMIT;
SELECT * FROM order_master WHERE vencode='V002' FOR UPDATE WAIT 5;
SELECT * FROM order_master WHERE vencode='V002' FOR UPDATE NOWAIT;
使用表級鎖使用命令顯示地鎖定表,應用表級鎖的語法是:併發
LOCK TABLE table_name IN mode MODE;spa
Lock table emp in row share mode;
Lock table emp in row exclusive mode;
--第一步:用戶1 update emp2 set sal=sal+25 where empno=7782; --第二步:用戶2 update emp2 set sal=sal+25 where empno=7566; --第三步:用戶1 update emp2 set sal=sal+25 where empno=7566; --第四步:用戶2 update emp2 set sal=sal+25 where empno=7782; --產生死鎖!!Oracle 自動解鎖!