我们可以在单个按钮点击事件中调用包含多个triggersw的调用的触发器吗?
因为有两个触发器如下:
插入后首先触发:
CREATE TRIGGER trgAfterInsert ON [dbo].[Employee_Test]
FOR INSERT
AS
declare @empid int;
declare @empname varchar(100);
declare @empsal decimal(10,2);
declare @audit_action varchar(100);
select @empid=i.Emp_ID from inserted i;
select @empname=i.Emp_Name from inserted i;
select @empsal=i.Emp_Sal from inserted i;
set @audit_action='Inserted Record -- After Insert Trigger.';
insert into Employee_Test_Audit
(Emp_ID,Emp_Name,Emp_Sal,Audit_Action,Audit_Timestamp)
values(@empid,@empname,@empsal,@audit_action,getdate());
PRINT 'AFTER INSERT trigger fired.'
GO
其次是登录:
Alter TRIGGER user_confirmation ON ADMINISTRATOR
FOR INSERT
AS
declare @ID varchar(20);
declare @u_name varchar(20);
declare @u_id varchar(20);
set @u_id= (select u_password from ADMINISTRATOR where u_name=@u_name);
select @ID from Inserted I;
if(@ID=@u_id)
print'Login Successfull'
GO
我只想在trgAfterInsert
触发器中调用user_confirmation
。有可能吗?
答案 0 :(得分:0)
您不能直接调用触发器。触发器将根据您的DML语句自动触发。允许使用嵌套触发器,您必须更改数据库设置。 请参阅以下链接了解详细信息。
https://msdn.microsoft.com/en-us/library/ms190739.aspx
表A上的DML语句触发一个触发器,该触发器依次更新某个表B,导致触发器B在该表B上触发
我认为你不需要多个触发器,而是从按钮点击事件调用存储过程