插入触发器中的合并语句消除了标识值?

时间:2016-03-15 21:14:31

标签: tsql sql-server-2014

我发出了一个

的sql语句
INSERT INTO Table1 (.....;  
SELECT SCOPE_IDENTITY();  

Table1有一个标识列。这非常有效,在C#中,我将获得新分配的身份值。

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

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

SELECT @@Identity 

甚至

SELECT IDENT_CURRENT('Table1')

但它们都返回null。如果我在触发器中注释掉合并,我会开始取回标识值。

如何获取我的身份值或让合并停止清除?

0 个答案:

没有答案