zoukankan      html  css  js  c++  java
  • 事务:共享锁的运用

    --user 1
    BEGIN TRANSACTION
    DECLARE @dt VARCHAR(50)
    SELECT * FROM Class_Info  WITH (HOLDLOCK)
    /*show time*/
    SELECT @dt=CONVERT(VARCHAR,GETDATE(),21)
    PRINT 'u1 lock time:'+@dt

    WAITFOR DELAY '00:00:15'

    SELECT @dt=CONVERT(VARCHAR,GETDATE(),21)

    PRINT 'u1 unlock time:'+@dt
    COMMIT TRANSACTION


    --user 2

    BEGIN TRANSACTION
    DECLARE @dt2 VARCHAR(50)
    SELECT @dt2=CONVERT(VARCHAR,GETDATE(),21)
    PRINT 'u2 begin tran:'+@dt2
    SELECT * FROM Class_Info

    SELECT @dt2=CONVERT(VARCHAR,GETDATE(),21)
    PRINT 'u2 begin selct:'+@dt2


    DELETE FROM Class_Info WHERE ID=19
    SELECT @dt2=CONVERT(VARCHAR,GETDATE(),21)
    PRINT 'u2 begin delete:'+@dt2

    ROLLBACK  TRANSACTION

    -----------------------------执行结果---------------------


    (20 行受影响)
    u1 lock time:2010-08-04 10:59:49.780
    u1 unlock time:2010-08-04 11:00:04.777

    u2 begin tran:2010-08-04 10:59:51.077

    (20 行受影响)
    u2 begin selct:2010-08-04 10:59:51.077
    19

    (1 行受影响)
    DELETE

    (1 行受影响)
    u2 begin delete:2010-08-04 11:00:04.777

     

  • 相关阅读:
    锚点
    autoLayout
    基础动画
    核心动画
    get和post的区别
    block的定义及使用
    传值-自定义构造函数传值
    字符串
    字典与可变字典
    RabbitMQ的可视化界面进行操作
  • 原文地址:https://www.cnblogs.com/diego0404/p/1791826.html
Copyright © 2011-2022 走看看