34,588
社区成员
发帖
与我相关
我的任务
分享
UPDATE TOP(1) A SET
标记 = N'已取'
OUTPUT
inserted.*
FROM 你的表
WHERE 标记 = N'未取'
SET NOCOUNT ON
-- 取数据可以这样定
DECLARE
@主键 int -- 根据你的主键定义(也可以是唯一键)
SET ROWCOUNT 1 -- 只取一条
UPDATE A SET
@主键 = 主键,
标记 = N'已取'
FROM 你的表
WHERE 标记 = N'未取'
SELECT * FROM 你的表
WHERE @主键 = 主键
SELECT * FROM test_user WITH (ROWLOCK,READPAST)
--ROWLOCK 对行进行加锁,下次别的机器 用 READPAST 方式就不会读取了,呵呵
--READPAST 忽略锁,忽略(不读取)被锁定的行
select top 100 * from table WITH (ROWLOCK)
select top 100 * from table WITH (NOLOCK)
begin tran --前台程序写
SELECT top 100 * FROM test_user WITH (READPAST,ROWLOCK)
.......
delete .....
commit tran