oracle 并发请求跟踪,在保留在oracle数据库中的同时处理并发请求?
小編典典
要在網站上處理并發,通常的做法是在每條記錄上都有一列,以便您檢查自獲得以來是否未更新。上次更新日期或順序版本號(由觸發器自動遞增)。
通常,您將讀取數據(加上并發列)
SELECT seat,etc,version_no
FROM t1
WHERE column = a_value
然后,當用戶最終準備預訂座位時,除非有更新,否則更新將起作用。
(版本號或更新日期將在每次更新后更改)
BEGIN
UPDATE t1
SET seatTaken = true
WHERE seatid = .....
AND version_no = p_version
RETURNING version_no INTO p_version;
EXCEPTION WHEN NOT_FOUND THEN
--Generate a custom exception
--concurrency viloation the record has been updated already
END;
自動更新版本號的觸發器看起來像這樣
CREATE OR REPLACE TRIGGER t1_version
AFTER INSERT OR UPDATE ON t1
FOR EACH ROW
BEGIN
IF :new.version_no IS NULL THEN
:new.version_no := 0;
ELSE
:new.version_no := :old.version_no + 1;
END IF;
END;
2020-09-18
總結
以上是生活随笔為你收集整理的oracle 并发请求跟踪,在保留在oracle数据库中的同时处理并发请求?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: xctf php2,XCTF PHP2
- 下一篇: linux cmake编译源码,linu