栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在保留在oracle数据库中的同时处理并发请求?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在保留在oracle数据库中的同时处理并发请求?

要在网站上处理并发,通常的做法是在每条记录上都有一列,以便您检查自获得以来是否未更新。上次更新日期或顺序版本号(由触发器自动递增)。

通常,您将读取数据(加上并发列)

SELECt seat,etc,version_noFROM t1WHERe 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 alreadyEND;

自动更新版本号的触发器看起来像这样

CREATE OR REPLACE TRIGGER t1_versionAFTER INSERT OR UPDATE ON t1FOR EACH ROWBEGIN    IF :new.version_no IS NULL THEN       :new.version_no  := 0;    ELSE       :new.version_no  := :old.version_no  + 1;    END IF;END;


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/486743.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号