Merge 获取插入&;使用外部查询插入更新合并$Action的计数-SQL server 问题
如何从Merge$Action获取插入和更新的总数???,我需要记录插入和更新计数Merge 获取插入&;使用外部查询插入更新合并$Action的计数-SQL server 问题,merge,Merge,如何从Merge$Action获取插入和更新的总数???,我需要记录插入和更新计数 --Inserting a new record for updates Insert dbo.DestinationTable ( CustomerID, CustomerName, IscurrentFlag ) select CustomerID, CustomerName, IscurrentFlag
--Inserting a new record for updates
Insert dbo.DestinationTable
(
CustomerID,
CustomerName,
IscurrentFlag
)
select
CustomerID,
CustomerName,
IscurrentFlag
from
(
--Inserting a new record for inserts
MERGE dbo.DestinationTable as dt
USING dbo.SourceTable as src
ON dt.CustomerID=src.CustomerID
WHEN NOT MATCHED THEN INSERT
(CustomerID,CustomerName,IscurrentFlag)
values (src.CustomerID,src.CustomerName,'Y')
WHEN MATCHED
THEN UPDATE
SET dt.IscurrentFlag ='N'
OUTPUT src.*, $Action as MergeAction
) as mrg
WHERE MergeAction = 'UPDATE'
业务限制:我们无法分离外部插入功能,我知道我们可以使用临时表将所有输出加载到其中,获取计数并执行外部插入。可能的重复
I tried using multiple outputs inside merge but getting an error
"An OUTPUT INTO clause is not allowed in a nested INSERT, UPDATE, DELETE, or MERGE statement"
OUTPUT $Action as counts into @Temp
OUTPUT src.*, $Action as MergeAction