我使用一个存储过程对主表进行插入,然后使用OUTPUT插入审计表中,并使用SCOPE_IDENTITY()
获取添加到主表的记录的id。但问题是SCOPE_IDENTITY()
是否返回了添加到Audit而非主表的内容的ID。
下面的代码显示了我的SP:
BEGIN TRY
Insert into [Client](
Name,
Disabled,
CreatedBy,
CreatedOn)
OUTPUT inserted.ClientID, inserted.[Name], inserted.[Disabled],
inserted.CreatedBy, inserted.CreatedOn
INTO [Audit].[Client]
values(
@Name,
@Disabled,
@CreatedBy,
SYSDATETIME())
Set @ID = SCOPE_IDENTITY()
END TRY
return @ID
有关如何获取添加到客户端表而不是客户端审计表的记录ID的任何帮助?
由于
答案 0 :(得分:1)
使用OUTPUT值(如果您没有在客户端上使用触发器)或
Set @ID = IDENT_CURRENT ('Client')
https://docs.microsoft.com/en-us/sql/t-sql/functions/ident-current-transact-sql