📄 触发器2.sql
字号:
--如果在XS表中添加或更改数据库,则向客户端显示一条信息
use XSCj
go
if exists(select name from sysobjects where name='reminder' and type='TR')
drop trigger reminder
go
create trigger reminder
on xs
for insert ,update
as
raiserror(4008,16,10)
/*当向XS_KC表插入一条记录是,检查该记录的
学号在XS表中是否存在,检查课程号在KC表中是否存在,若
有一项为否,则不允许插入
*/
use XSCJ
go
if exists(select name from sysobjects where name='check_trig' and type='TR')
drop trigger check_trig
go
create trigger check_trig
on XS_KC
for insert
as
if exists( select *
from inserted a
where a.学号 not in(select b.学号 from XS b) or
a.课程号 not in(select c.课程号 from kc c) )
begin
raiserror('违背数据的一致性',16,1)
rollback transaction
end
--若对学号和课程号列修改,则给出提示信息,并取消操作
use XSCJ
go
/*
if exists(select name from sysobjects where name='update_trig' and type='TR')
drop trigger check_trig
go*/
create trigger update_trig
on XS_KC
instead of update
as
--
if(columns_updated() & 3)>0 --11
begin
raiserror('违背数据的一致性',16,1)
rollback transaction
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -