我需要在其他查询中删除记录并按其ID进行搜索
select * from Flat
WHERE Flat.nu in (delete top (1) from temp output deleted.nu)
答案 0 :(得分:3)
我认为你不能相互运行。
我建议您使用(临时表):tempIds(id int)
。
然后像这样使用output
子句:
delete top(1) from temp
output deleted.id into tempIds;
注意:最好使用CTE删除第一行。
然后查询tempIds
表格,然后查看tempIds
。
答案 1 :(得分:1)
尝试这种方式..它可能会帮助你。
DECLARE @ID_CAPTURE TABLE (ID Int)
DELETE TOP(1) FROM TEMP
OUTPUT deleted.Nu into @ID_CAPTURE
SELECT * FROM FLAT WHERE NU IN (SELECT * FROM @ID_CAPTURE)
如果有多个记录,上面的代码段也适合您。