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
- 下一篇: oracle 相同的sql执行两次 执行