-- 定义临时表变量,用于 output into 使用
DECLARE @VarOrderStatus table (
OrderNo nvarchar(50) NULL)
-- update 表
UPDATE Order_StatusSET Order_Status.QueryTakeOut = 1,Order_Status.QueryCount = Order_Status.QueryCount+1 OUTPUT INSERTED.OrderNo -- output intoINTO @VarOrderStatus
-- select 表
FROM
( SELECT TOP 10 * FROM Order_Status WHERE Status=4 AND QueryTakeOut=0 AND QueryCount < 3 ORDER BY CreateTime DESC) AS A-- select.key = update.key
WHERE A.OrderNo = Order_Status.OrderNo
-- 查询临时表
SELECT * FROM @VarOrderStatus