触发器的使用
删除触发器
修改触发器
关于删除触发器,我在这里不作介绍了,相信大家应该能看懂。
在这里我来介绍下 Update Trigger
在这里我们首先看到了if(Update(name) or Update(sex)) 这句话的意思就是当我更新Name或者Sex字段时触发这个触发器。
下面我们来看下这个Update语句。
Update T_Contact set IsChecked=0 from T_Contact ,Deleted DeletedTable,Inserted InsertedTable where T_Contact.InfoId=DeletedTable.ID
首先我们需要明白的一点是:在做Update的时候,其实是做了两部操作,step 1: 删除原来的数据 step 2: 增加新的数据
所以Deleted DeletedTable 就是要删除的原来数据
Inserted InsertedTable 就是要添加的新数据
明白了这点后,再看这个就比较容易了!
ALTER TRIGGER [DeleteTrigger_PersonInfo]
ON [dbo].[T_PersonInfo]
AFTER DELETE
AS
BEGIN
SET NOCOUNT ON; --当 SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL 语句影响的行数)。
Declare @DeletedID int
Select @DeletedID=UserID From Deleted;
--删除T_User中的信息
Delete From T_User Where F_ID=@DeletedID;
--删除T_Admin中的信息
Delete From T_Admin Where F_ID=@DeletedID;
--删除T_Shop中的信息
Delete From T_Shop Where F_ID=@DeletedID;
END
ON [dbo].[T_PersonInfo]
AFTER DELETE
AS
BEGIN
SET NOCOUNT ON; --当 SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL 语句影响的行数)。
Declare @DeletedID int
Select @DeletedID=UserID From Deleted;
--删除T_User中的信息
Delete From T_User Where F_ID=@DeletedID;
--删除T_Admin中的信息
Delete From T_Admin Where F_ID=@DeletedID;
--删除T_Shop中的信息
Delete From T_Shop Where F_ID=@DeletedID;
END
修改触发器
lter Trigger UpdateTrigger_PersonInfo
on T_PersonInfo
AFTER Update
as
[if(Update(name) or Update(sex))] --如果是全部字段上都有更新就触发触发器,那么这句话就可以不要
BEGIN
Update T_Contact set IsChecked=0 from T_Contact ,Deleted DeletedTable,Inserted InsertedTable where T_Contact.InfoId=DeletedTable.ID
End
on T_PersonInfo
AFTER Update
as
[if(Update(name) or Update(sex))] --如果是全部字段上都有更新就触发触发器,那么这句话就可以不要
BEGIN
Update T_Contact set IsChecked=0 from T_Contact ,Deleted DeletedTable,Inserted InsertedTable where T_Contact.InfoId=DeletedTable.ID
End
关于删除触发器,我在这里不作介绍了,相信大家应该能看懂。
在这里我来介绍下 Update Trigger
在这里我们首先看到了if(Update(name) or Update(sex)) 这句话的意思就是当我更新Name或者Sex字段时触发这个触发器。
下面我们来看下这个Update语句。
Update T_Contact set IsChecked=0 from T_Contact ,Deleted DeletedTable,Inserted InsertedTable where T_Contact.InfoId=DeletedTable.ID
首先我们需要明白的一点是:在做Update的时候,其实是做了两部操作,step 1: 删除原来的数据 step 2: 增加新的数据
所以Deleted DeletedTable 就是要删除的原来数据
Inserted InsertedTable 就是要添加的新数据
明白了这点后,再看这个就比较容易了!

浙公网安备 33010602011771号