--参考下:
set xact_abort  on
begin tran
select * from 表 with(TABLOCKX)  --加排它锁
         update a set a='x' from 表 a  WITH (XLOCK)
commit tran

解决方案 »

  1.   

    libin_ftsafe(子陌红尘)  我要能有时间慢慢找资料,然后研究我干吗在这发贴
      

  2.   

    zlp321002(她是我的唯一.) 那怎么检测到别人正在插入数据?
    等到别人提交后再SELECT?
      

  3.   

    我的业务是这样
    我在做一个接口程序别人有一个程序定期向SQL SERVER插数据
    数据形态如下
    NO      DATE1
    0001 2005-10-10 00:00:01 
    0002 2005-10-10 00:00:02
    0003 2005-10-10 00:00:03 
    0004 2005-10-10 00:00:04 
    DATE1为别人在运行INSERT那个点的时间假设在插第二条记录的时候我的程序运行了,需要SELECT
    select  no,date1,getdate() from a
    我希望等别人的程序把全部4条记录都插完并提交后,我的SELECT运行,并且这时GETDATE()函数得到的时间大于最后一条记录的时候,即大于2005-10-10 00:00:04
      

  4.   

    “5星”说的没错,先明白sql server里什么叫“事务”再做这个程序,不然白给你现成代码你也不知道是什么含义!
      

  5.   

    楼上的,我很明白什么是事务SQLSERVER比较菜而已
      

  6.   

    希望如果别人正在INSERT的时候,我的SELECT 能自动等待,等别人都提交完了再SELECT select * from 表 with(TABLOCKX) 不知道以上的独占锁表操作可不可以实现自动等待?
      

  7.   

    select * from a with (nolock)
      

  8.   

    你是想再sql里面加锁。还是java
      

  9.   

    select * from a with (nolock),你也没有具体的SQL,类似这样,就可以实现你的要求!!=========================================================
    我的回复,尽可能为你分忧解难
    BLOG:blog.csdn.net/softj      --欢迎光临,有更多信息等着你!
    QQ高级群:5063844专研数据库    --大家进来聊一聊!
    MSN:[email protected]             --这不常用!
    Mail:[email protected]            --有什么问题可以和我来EMAIL!
    =========================================================