多线程插入数据,数据库为sql2005 就比如:create proc test
@nTitle nvarchar(50)
as
  INSERT INTO [tb](
[nTitle]
)VALUES(
@nTitle 
)怎么设置行锁?委实迷糊没有接触过此类问题,请高手指教~~

解决方案 »

  1.   

    SET TRANSACTION ISOLATION LEVEL {READ UNCOMMITTED                                 | READ COMMITTED                                 | REPEATABLE READ                                 | SNAPSHOT                                 | SERIALIZABLE}[;]这部分建议你看一下石头哥的博客
    http://blog.csdn.net/happyflystone/archive/2009/09/28/4604573.aspx
      

  2.   

    SQL code 
    1 如何锁一个表的某一行A 连接中执行SET TRANSACTION ISOLATION LEVEL REPEATABLE READbegin transelect * from tablename with (rowlock) where id=3waitfor delay '00:00:05'commit tranB连接中如果执行update tablename set colname='10' where id=3 --则要等待5秒update tablename set colname='10' where id<>3 --可立即执行2 锁定数据库的一个表SELECT * FROM table WITH (HOLDLOCK) 
    注意: 锁定数据库的一个表的区别SELECT * FROM table WITH (HOLDLOCK) 
    其他事务可以读取表,但不能更新删除SELECT * FROM table WITH (TABLOCKX) 
    其他事务不能读取表,更新和删除本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/fredrickhu/archive/2009/09/21/4574867.aspx