Tsql insert触发器中的Merge语句是否清除标识值?

Tsql insert触发器中的Merge语句是否清除标识值?,tsql,sql-server-2014,Tsql,Sql Server 2014,我发出的sql语句是 INSERT INTO Table1 (.....; SELECT SCOPE_IDENTITY(); 表1有一个标识列。这非常有效,在C#中,我将获得新分配的标识值 然后我添加了一个insert、update触发器,其中有一个MERGE语句,可以插入或更新另一个表中的记录。另一个表中没有任何标识。当我向表1添加新行时,合并的插入部分在触发器中触发 现在,第一条SQL语句返回null,我无法获取Table1的标识值。我试过了 SELECT @@Identity

我发出的sql语句是

INSERT INTO Table1 (.....;  
SELECT SCOPE_IDENTITY();  
表1
有一个标识列。这非常有效,在C#中,我将获得新分配的标识值

然后我添加了一个insert、update触发器,其中有一个
MERGE
语句,可以插入或更新另一个表中的记录。另一个表中没有任何标识。当我向
表1
添加新行时,合并的插入部分在触发器中触发

现在,第一条SQL语句返回null,我无法获取
Table1
的标识值。我试过了

SELECT @@Identity 
甚至

SELECT IDENT_CURRENT('Table1')
但它们都返回null。如果我在触发器中注释掉合并,我将开始返回标识值

如何获取标识值或使合并停止清除它?

这很奇怪,因为SCOPE_identity()应该在我阅读文档时返回Table1标识。尝试插入输出.ID