首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle SELECT FOR UPDATE 鎖定查詢記錄實作範例

     編輯:Oracle 資料庫基礎

實作方法

使用 SELECT ... FOR UPDATE 子句鎖定查詢到的記錄,防止其他 Session 修改。

測試步驟

-- Session 1
CONN system/manager
GRANT CONNECT,RESOURCE TO test IDENTIFIED BY test;
CONN test/test
CREATE TABLE a(a NUMBER);
INSERT INTO a VALUES(1);
COMMIT;
SELECT * FROM a FOR UPDATE;  -- 或 FOR UPDATE OF a.a
-- 記錄被鎖定

-- Session 2 (新視窗)
CONN test/test
DELETE FROM a;  -- 此處阻塞等待鎖釋放

-- Session 1 執行
ROLLBACK;  -- 或 COMMIT
-- Session 2 繼續執行刪除

鎖定釋放條件:執行 COMMIT 或 ROLLBACK。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved