C# 如何在SQL Server 2012中使用触发器中的会话值并插入到表中?

C# 如何在SQL Server 2012中使用触发器中的会话值并插入到表中?,c#,asp.net,sql-server-2012,C#,Asp.net,Sql Server 2012,如何在SQL Server 2012中使用触发器中的会话值并插入到表中? 我创建了一个会话,但弄糊涂了,我如何将会话值用于触发器。 我正在为查看在主表中执行操作的所有日志创建一个日志表。触发器是绑定到表并自动执行的数据库对象。不能显式调用触发器。唯一的方法是对分配给它们的表执行所需的操作 所以,如果您希望保存会话值,请将其保存在创建触发器的表中,然后将其保存在日志表中 CREATE TRIGGER trgAfterInsert ON [dbo].[Employee_Test] FOR INSE

如何在SQL Server 2012中使用触发器中的会话值并插入到表中? 我创建了一个会话,但弄糊涂了,我如何将会话值用于触发器。
我正在为查看在主表中执行操作的所有日志创建一个日志表。

触发器是绑定到表并自动执行的数据库对象。不能显式调用触发器。唯一的方法是对分配给它们的表执行所需的操作

所以,如果您希望保存会话值,请将其保存在创建触发器的表中,然后将其保存在日志表中

CREATE TRIGGER trgAfterInsert ON [dbo].[Employee_Test] 
FOR INSERT
AS
    declare @empid int;
    declare @empname varchar(100);
    declare @SessionValue varchar(10,2);
    declare @audit_action varchar(100);

    select @empid=i.Emp_ID from inserted i; 
    select @empname=i.Emp_Name from inserted i; 
    select @SessionValue=i.SessionValue from inserted i;    
    set @audit_action='Inserted Record -- After Insert Trigger.';

    insert into Employee_Test_Audit
           (Emp_ID,Emp_Name,SessionValue,Audit_Action,Audit_Timestamp) 
    values(@empid,@empname,@SessionValue,@audit_action,getdate());

    PRINT 'AFTER INSERT trigger fired.'
GO

谢谢你给我同样的答案。还有一个问题是,在updateTrigger中,如何使用会话值更新表,以及如何在更新数据时获取主表ID?同样的代码用于更新,也只是将INSERT更改为update