--触发器
--创建触发器语法:
create trigger 触发器名称,一般命名为tr_触发操作和表名_触发后执行的操作和表名
on 表名 for 操作
as
触发器被触发后进行的操作。
go
例:
--Users用户表
--Article文章表 uid
--业务场景:当论坛中的用户被删除的时候,将用户表的数据删掉;还要将用户发表的文章删除;
alter trigger tr_deleteUser_deleteArticle
on Users for Delete
as
--从删除临时表中得到删除用户的id
declare @uid int
select @uid=id from deleted
print @uid
--删除文章
delete from Article where uid=@uid
go
delete from Users where id=1
--添加的触发器
--业务场景:01和02分别是两个订单表,做两张订单表的数据同步,当01表插入数据时,02表也插入相同的数据
truncate table order_01
truncate table order_02
select * from order_01
select * from order_02
create trigger tr_insert_order_01_order_02
on order_01 for insert
as
--怎么获取新插入数据的值
declare @number int, @price int,@create_time datetime
select @number=number,@price=price,@create_time=create_time from inserted
insert into order_02 values(@number,@price,@create_time)
go
insert into order_01 values(10,100,'2023-03-10')