一、触发器
1. 定义
--基本语法 create trigger Trigger_Name on TableName for type --type:insert,update,delete as --执行逻辑
2. insert 触发器获取当前值
create trigger Member_Inserts on Member for insert as declare @id varchar(36) select @id = id from inserted; insert into Member(ID,Sex) values(@id+‘insert‘,0);
3.update 触发器
update 触发器获取修改前的值和修改后的值;update操作等于先删除记录,再插入新的记录
create trigger Member_Updates on Member for update as declare @idnew varchar(36); declare @idold varchar(36); select @idnew = id from inserted;--inserted在修改时存放的新值的临时表 select @idold = id from deleted;--deleted在修改时存放的旧值的临时表 insert into Member(ID,Sex) values(@idnew+‘new‘,0); insert into Member(ID,Sex) values(@idold+‘old‘,0);
二、 事务
1. 定义
--基础语法 begin tran if(@@ERROR <> 0) begin rollback tran; end commit tran
begin tran update Members set Author = ‘System‘ --此处引发异常 update Members set Status = ‘a‘ if(@@ERROR <> 0) rollback tran commit tran
原文:https://www.cnblogs.com/haosit/p/10766566.html