我有一个存储过程,使用
我能否使用
所以问题是什么以及应该使用哪个方法?
@dbName
将记录插入到该数据库中。我想获取最后插入的记录ID。SCOPE_IDENTITY()
返回NULL,@@IDENTITY
返回正确的ID,为什么会发生这种情况?根据我的阅读,如果表上有触发器,则最好使用SCOPE_IDENTITY()
。我能否使用
IDENT_CURRENT
?它是否返回表作用域内的ID,而不管触发器?所以问题是什么以及应该使用哪个方法?
DECALRE @dbName nvarchar(50) = 'Site'
DECLARE @newId int
DECLARE @sql nvarchar(max)
SET @sql = N'INSERT INTO ' + quotename(@dbName) + N'..myTbl(IsDefault) ' +
N'VALUES(0)'
EXEC sp_executesql @sql
SET @newId = SCOPE_IDENTITY()