在SQL Server中使用已删除记录中的值
我需要删除记录并在另一个查询中按其Id搜索,如下所示在SQL Server中使用已删除记录中的值,sql,sql-server,sql-server-2012,Sql,Sql Server,Sql Server 2012,我需要删除记录并在另一个查询中按其Id搜索,如下所示 select * from Flat WHERE Flat.nu in (delete top (1) from temp output deleted.nu) 我想你们不能互相操纵 我建议您使用一个临时表:tempIdsid int。 然后使用如下输出子句: delete top(1) from temp output deleted.id into tempIds; 注意:最好使用CTE删除第一行 然后查询tempIds表,然后清除
select * from Flat
WHERE Flat.nu in (delete top (1) from temp output deleted.nu)
我想你们不能互相操纵 我建议您使用一个临时表:tempIdsid int。 然后使用如下输出子句:
delete top(1) from temp
output deleted.id into tempIds;
注意:最好使用CTE删除第一行
然后查询tempIds表,然后清除tempIds。试试这种方法。。它可能会帮助你
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)
如果有多条记录,上述代码片段也适用。为什么需要它-当您可以使用触发器和级联删除-;。如果只想查找无效的FK,只需使用左联接并筛选空结果即可;。shA.t这是一个大型查询的一部分SELECT*from PLAT INTERNAL join delete top 1 from dbo.temp output deleted.nu del on PLAT.nu=del.nuBest将中间表设为临时表。@TT;。我不太喜欢在这种情况下使用常规表。