<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    計(jì)算機(jī)學(xué)習(xí)積累

    ----轉(zhuǎn)載有理,轉(zhuǎn)載是想研究,想研究才會(huì)看,看了才會(huì)有感想,轉(zhuǎn)載后我有時(shí)會(huì)寫一些自己的感受
    數(shù)據(jù)加載中……

    使用事務(wù)與鎖,實(shí)現(xiàn)一個(gè)用戶取過(guò)的數(shù)據(jù)不被其他用戶取到(轉(zhuǎn)鄒健)

    問(wèn)題描述:

    ADO 訪問(wèn)數(shù)據(jù)庫(kù),從一個(gè)表中取一定的記錄(比如 20 行),取出后在程序中使用,使用完后刪除掉記錄(不用更新或刪除記錄)。在多用戶操作下 ( 每個(gè)用戶采用相同的操作 ) ,怎么保證一個(gè)用戶已選取的記錄不被其他用戶選取 ?

    ?

    問(wèn)題解決:

    處理這類問(wèn)題的一般方法是增加一個(gè)標(biāo)志列,每個(gè)用戶取的記錄設(shè)置一個(gè)標(biāo)志,新的用戶只從標(biāo)志為未取的記錄中獲取記錄。

    而本文利用事務(wù)與鎖來(lái)控制數(shù)據(jù)的處理,不需要增加任何標(biāo)志列

    下面是具體的解決示例

    ?

    1. ?????? 建立測(cè)試環(huán)境

    USE tempdb

    GO

    ?

    CREATE TABLE dbo.tb(

    id intidentity(1, 1),

    name nvarchar (128))

    ?

    INSERT tb(name)

    SELECT TOP 100

    name

    FROM syscolumns

    GO

    ?

    2. ?????? 模擬第 1 個(gè)用戶

    -- 查詢窗口發(fā)出下面的查詢語(yǔ)句

    BEGIN TRAN

    ??????? -- 事務(wù)不提交或者回滾 , 以保持鎖不釋放

    SET ROWCOUNT 20

    SELECT *

    FROM tb WITH(UPDLOCK, READPAST)

    ??????? -- UPDLOCK 讓鎖保留到事務(wù)結(jié)束 , READPAST 跳過(guò)已經(jīng)鎖定的數(shù)據(jù)

    ?

    3. ?????? 模擬第 2 個(gè)用戶(語(yǔ)句與第 1 個(gè)用戶一樣,只是在另一個(gè)連接中執(zhí)行)

    -- 查詢窗口發(fā)出下面的查詢語(yǔ)句

    BEGIN TRAN

    ??????? -- 事務(wù)不提交或者回滾 , 以保持鎖不釋放

    SET ROWCOUNT 20

    SELECT *

    FROM tb WITH(UPDLOCK, READPAST)

    ??????? -- UPDLOCK 讓鎖保留到事務(wù)結(jié)束 , READPAST 跳過(guò)已經(jīng)鎖定的數(shù)據(jù)

    ?

    4. ?????? 結(jié)果

    你會(huì)看到

    查詢窗口 1 列出了前 20 條數(shù)據(jù)

    查詢窗口 1 列出了 21-40 條數(shù)據(jù)

    ?

    這樣就實(shí)現(xiàn)了不同的用戶取不同數(shù)據(jù)的需求 .

    ?

    : 處理完成后 , 刪除記錄 , 然后提交事務(wù)就可以了 .

    posted on 2009-04-28 15:55 freebird 閱讀(197) 評(píng)論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫(kù)

    主站蜘蛛池模板: 亚洲精品无码久久久久久| 国产高清视频在线免费观看| 噼里啪啦免费观看高清动漫4| 亚洲邪恶天堂影院在线观看| 三级网站在线免费观看| 国产成人精品日本亚洲专区| 日韩毛片一区视频免费| 亚洲第一页日韩专区| 一区二区三区免费电影| 国产精品亚洲аv无码播放| 久久亚洲免费视频| 亚洲女人影院想要爱| 四虎www免费人成| 亚洲国产成人AV在线播放| 亚洲?V无码乱码国产精品| 日韩免费的视频在线观看香蕉| 免费很黄无遮挡的视频毛片| 亚洲欧洲精品成人久久曰| 亚洲综合激情九月婷婷| 国产一级淫片a免费播放口之 | 两个人看的www免费视频中文| 亚洲一区二区三区写真| 亚洲 无码 在线 专区| 免费无码黄网站在线观看| 一级中文字幕乱码免费| 国产精品亚洲专区在线播放| 国产亚洲综合网曝门系列| 亚洲欧洲日产国码高潮αv| 69av免费观看| 美女18毛片免费视频| 色噜噜的亚洲男人的天堂| 中文字幕亚洲综合久久2| 四虎免费久久影院| 在线观看人成视频免费| 成人特黄a级毛片免费视频| 男女拍拍拍免费视频网站| 亚洲无吗在线视频| 激情综合色五月丁香六月亚洲| 免费观看黄色的网站| 国产在线国偷精品免费看| 亚洲 暴爽 AV人人爽日日碰|