首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

mssql2000k delete from 不能使用READPAST锁?该如何处理

2012-03-24 
mssql2000k delete from 不能使用READPAST锁?在mssql2000环境下在存贮过程写一行代码如下:DELETE FROM aut

mssql2000k delete from 不能使用READPAST锁?
在mssql2000环境下在存贮过程写一行代码如下:

DELETE FROM autoNum WITH (READPAST);

运行结果提示:只有在 SELECT 语句中才允许使用 NOLOCK、READUNCOMMITTED 和 READPAST 锁提示!

问题:1、mssql2000k 环境是,delete from 不能使用READPAST锁?
  2、在sql查询分析器如何运行存贮过程(返回一个参数)

[解决办法]

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) 其他事务不能读取表,更新和删除
[解决办法]
人家说不能,那就是不能,锁是人家造的!
[解决办法]
探讨
谢谢楼上!
有没有存贮过程详细点的介绍。

[解决办法]
楼主是乱用啊,
这提示是用于 其它事务有改动某一条记录时,select用这提示可以过滤正在更新的记录,而不是在删除时提示
[解决办法]
SQL code
--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参数,试试咯.

热点排行