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

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

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

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

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

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

    問題描述:

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

    ?

    問題解決:

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

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

    下面是具體的解決示例

    ?

    1. ?????? 建立測試環(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 個用戶

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

    BEGIN TRAN

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

    SET ROWCOUNT 20

    SELECT *

    FROM tb WITH(UPDLOCK, READPAST)

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

    ?

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

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

    BEGIN TRAN

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

    SET ROWCOUNT 20

    SELECT *

    FROM tb WITH(UPDLOCK, READPAST)

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

    ?

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

    你會看到

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

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

    ?

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

    ?

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

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

    主站蜘蛛池模板: 香蕉免费一级视频在线观看| 一个人看的www视频免费在线观看 一个人看的免费观看日本视频www | 亚洲日本人成中文字幕| 24小时免费直播在线观看| 男人扒开添女人下部免费视频| 久久国产成人亚洲精品影院 | 59pao成国产成视频永久免费| 亚洲综合一区二区三区四区五区| 免费乱码中文字幕网站| 日本黄色动图免费在线观看| 亚洲综合色丁香婷婷六月图片 | 西西人体44rt高清亚洲| 日本a级片免费看| 亚洲免费视频网站| 国产亚洲精品91| 亚洲精品mv在线观看| 亚洲精品成a人在线观看| 成人福利免费视频| 国产精品无码免费专区午夜| 国产成人精品日本亚洲专| 亚洲综合最新无码专区| 国产精品美女午夜爽爽爽免费| 黄色网站软件app在线观看免费| 亚洲欧洲精品成人久久曰| 亚洲国产精品久久久久久| 免费一级肉体全黄毛片| 国产免费久久精品99re丫y| 精选影视免费在线 | 亚洲av日韩av永久在线观看 | 一级特黄色毛片免费看| 国产精品亚洲四区在线观看| 国产亚洲精品国产| 亚洲AV永久无码精品一区二区国产| 免费v片在线观看视频网站| 国产午夜精品理论片免费观看| 亚洲精品美女久久久久久久| 亚洲国产成人精品电影| 久久久亚洲精品无码| 国产亚洲大尺度无码无码专线| 四虎影视永久免费观看地址| 黄色成人网站免费无码av|