创建数据库
create database Demo230607
--连数据库
use Demo230607
go
--创建记录表
Create table StudenLog
(
ID int primary key identity,
StuID int, --学生ID
StuName varchar(200), --学生姓名
StuClassID int, --学生班级
Datetype varchar(200), --触发操作类型
CreateTime dateTime --触发时间
)
go
创建触发器
--触发器
create Trigger [Student_tri_add_data] --在添加学生表数据时触发
on students --属于哪个表的触发器
for insert --执行什么操作的时候触发
as
Begin
--触发器要执行的代码
Declare @StuID int ,@StuName varchar(200),@StuClassID int; --声明变量用于存储数据
--把新增的数据保存到变量中
Select @StuID=StuID,@StuName=StuName,@StuClassID=ClassID from inserted; --inserted表存储的是上一次添加的数据
--把数据添加到StudentLog
insert into StudenLog(StuID,StuName,StuClassID,DateType,CreateTime) values(@StuID,@StuName,@StuClassID,'添加数据',getDate());
end
go
删除触发器
--触发器删除
Create Trigger [Student_tri_del_data] --在添加学生表数据时触发
on Students --属于哪个表的触发器
for delete --执行什么操作的时候触发
as
Begin
--触发器要执行的代码
Declare @StuID int ,@StuName varchar(200),@StuClassID int; --声明变量用于存储数据
--把新增的数据保存到变量中
Select @StuID=StuID,@StuName=StuName,@StuClassID=ClassID from deleted; --inserted表存储的是上一次添加的数据
select * from deleted
--把数据添加到StudentLog
insert into StudenLog(StuID,StuName,StuClassID,DateType,CreateTime) values(@StuID,@StuName,@StuClassID,'删除数据',getDate());
end
go
--测试删除触发器
delete Students where StuName='杨戬'
go

评论 (0)