mssql2000k delete from 不能使用READPAST锁?
在mssql2000环境下在存贮过程写一行代码如下:
DELETE FROM autoNum WITH (READPAST);
运行结果提示:只有在 SELECT 语句中才允许使用 NOLOCK、READUNCOMMITTED 和 READPAST 锁提示!
问题:1、mssql2000k 环境是,delete from 不能使用READPAST锁?
2、在sql查询分析器如何运行存贮过程(返回一个参数)
[解决办法]
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) 其他事务不能读取表,更新和删除
[解决办法]
人家说不能,那就是不能,锁是人家造的!
[解决办法]
--Create table autoNum(ID int identity primary key,number int)insert autoNum select 10insert autoNum select 20insert autoNum select 30--窗口1begin tranDELETE FROM autoNum WITH (rowlock,holdlock) where ID=1--窗口2begin tranupdate autoNum WITH (rowlock,holdlock) set number=number+100where ID=2
[解决办法]
问题:
1、mssql2000k 环境是,delete from 不能使用READPAST锁?
--> 这是规定, 没什么好解释的哦.
2、在sql查询分析器如何运行存贮过程(返回一个参数)
--> sql2000没有output参数,试试把结果select出来即可.
[解决办法]
补充: 不确定sql2000是否有output参数,试试咯.