触发器定义,类型,作用

触发器是一种特殊的存储过程,带事务,可以回滚

有after 触发器 和 insteadOf触发器

--after---insert触发器
alter trigger trigger_UserInfos_Insert
on UserInfos
for insert -- 也可以写成after insert
as
--T-SQL
declare @id int,@name varchar(50)
select @id=UserId,@name=UserName from inserted
print convert(varchar,@id)+','+@name +' 添加成功!';
delete from UserInfos where UserId=24
go

--触发trigger_UserInfos_Insert
insert into UserInfos (UserName,UserPwd,DeptId,Age)
values('lingping','123',2,31)

select * from UserInfos


--after---update触发器
--以前我们执行Update语句后,能看到只是修改后的数据
--把修改前与修改后的数据都显示出来
--修改就是先删除原来的,再插入新的一条数据
alter trigger trigger_UserInfos_Update
on UserInfos
for update
as
declare @id int,@name varchar(50),@age int
select @id=UserId,@name=UserName,@age=Age from deleted
print '修改前:'+convert(varchar,@id)+','+@name+','+convert(varchar,@age);
select @id=UserId,@name=UserName,@age=Age from inserted
print '修改后:'+convert(varchar,@id)+','+@name+','+convert(varchar,@age);
select * into UserInfoBackup --将更新前的数据备份到新表
from deleted
go


--触发 trigger_UserInfos_Update
update UserInfos set UserName='liuying2',Age=26
where UserId=25

posted @ 2021-09-05 23:01  大树2  阅读(355)  评论(0编辑  收藏  举报