Sql server 是否可以将多个输出子句组合到同一个sql语句中?
我希望在SQL Server中的单个命令中执行以下操作:Sql server 是否可以将多个输出子句组合到同一个sql语句中?,sql-server,Sql Server,我希望在SQL Server中的单个命令中执行以下操作: 删除记录 将删除的记录插入另一个表 将已删除记录的ID插入另一个表以进行进一步处理,从而消除相关表 我可以做1和2, 像 我想做的是如下所示 DECLARE @tempTable TABLE ( ID int ) DELETE p OUTPUT deleted.* INTO Table2 OUTPUT INSERTED.ID INTO @tempTable FROM Table1 p 是否可以在单个命令中执行此操作?否在单个语句
DECLARE @tempTable TABLE
(
ID int
)
DELETE p
OUTPUT deleted.*
INTO Table2
OUTPUT INSERTED.ID
INTO @tempTable
FROM Table1 p
是否可以在单个命令中执行此操作?否在单个语句中不能有多个output子句。就像不能有多个where子句一样。您希望从delete语句中插入的表中找到什么?也许你真正想要的是一个合并?只是@SeanLange评论的一个补充-查看
MERGE
与OUTPUT
的组合。
DECLARE @tempTable TABLE
(
ID int
)
DELETE p
OUTPUT deleted.*
INTO Table2
OUTPUT INSERTED.ID
INTO @tempTable
FROM Table1 p