.为sc创建一个触发器,当插入或者修改一个记录时候,确保此记录的成绩在0-100之间。
create trigger score_sc_tri
on sc for insert,update
as declare @score_read tinyint
select @score_read=score from inserted
if @1.为sc创建一个触发器,当插入或者修改一个记录时候,确保此记录的成绩在0-100之间。
create trigger score_sc_tri
on sc for insert,update
as declare @score_read tinyint
select @score_read=score from inserted
if @score_read>=0 and @score_read<=100
beginprint ' 操作完成!'
return
endprint '成绩超出~之间!请重新输入。'
rollback transaction
insert into sc values('s1','c5',190)
go insert into sc values('s1','c5',100)
goupdate sc set score=130 where sno='s2'and cno='c5'
goupdate sc set score=60 where sno='s2'and cno='c5'
go2.为t创建一个触发器,男职工年龄不超过60周岁,女职工是教授的年龄不超过60,其他女职工不超过55.
create trigger trigger_teacher
on teacher for update ,insert
as declare @age_new int,@sex char(2),@prof char(10)
select @age_new=age from inserted
select @sex=sex ,@prof=prof from teacher
if @sex='男'and @age_new<=60and @age_new>0
beginprint '操作完成'
return
endelse if @sex='女'and @prof='教授' and @age_new<=60and @age_new>0
beginprint '操作完成'
return
endelse if @sex='女'and @prof<>'教授' and @age_new<=55and @age_new>0
beginprint '操作完成'
return
endprint '记录数据错误!请重新输入。'
rollback transaction
insert into teacher values('s1','c5','男','63
go 3.为tc\c\sc创建参照完整性,级联删除和级联修改触发器。
为表c创建一级联更新触发器trigger_course。
create trigger trigger_course
on course
for update as
if update(cno)
begindeclare @cno_new char(2),@cno_old char(2)
select @cno_new=cno from inserted
select @cno_old=cno from deleted
update sc set cno=@cno_new where cno=@cno_old
update tc set cno=@cno_new where cno=@cno_old
end为表sc创建一限制更新触发器trigger_sc
要求:若修改sc表中一记录的课号,则要检查表course中是否存在与该课号相同的记录,若有则不许修改,若没有则可修改。
create trigger trigger_sc
on scfor update as
if update(cno)
begindeclare @cno_new char(5),@cno_old char(5),@cno_cnt int
select @cno_old=cno from deleted
select @cno_cnt=count(*)from course where cno=@cno_old
if @cno_cnt<>0
rollback transaction
end为表tc创建一限制更新触发器trigger_tc
要求:若修改tc表中一记录的课号,则要检查表course中是否存在与该课号相同的记录,若有则不许修改,若没有则可修改。
create trigger trigger_tc
on tcfor update as
if update(cno)
begindeclare @cno_new char(5),@cno_old char(5),@cno_cnt int
select @cno_old=cno from deleted
select @cno_cnt=count(*)from course where cno=@cno_old
if @cno_cnt<>0
rollback transaction
end用sql为表c创建一个级联删除触发器trigger_dc:通过课程名从c表中删除某课程信息,同时删除sc,tc表中与此课程相关的选课记录。
use jiaoxuedb
gocreate trigger trigger_dcourse
on course for delete
as declare @cno_del char(5)
select @cno_del=cno from deleted
delete from sc where
delete from tc where
go)验证触发器的作用。
delete from course where cno= '01001'
goinsert into course values('01001','信息与计算科学','90','4.0')
go insert into sc values('s1','c5',100)
goupdate sc set score=130 where sno='s2'and cno='c5'
goupdate sc set score=60 where sno='s2'and cno='c5'
go为sc创建一个触发器,当插入或者修改一个记录时候,确保此记录的成绩在0-100之间。
SQL触发器语法 1
sql触发器。一 触发器的基本概念。1 触发器的定义。触发器是一种特殊的存储过程,它和表密切相连,可以看作是 定义的一部分 当用户对指定表操作时,触发器会自动执行。触发器在 update insert delete等操作执行结束后才执行。2 触发器的功能。1 级联更新数据库中相关表的数据 2 实现多...
SQL触发器语法 1
sql触发器。一 触发器的基本概念。1 触发器的定义。触发器是一种特殊的存储过程,它和表密切相连,可以看作是 定义的一部分 当用户对指定表操作时,触发器会自动执行。触发器在 update insert delete等操作执行结束后才执行。2 触发器的功能。1 级联更新数据库中相关表的数据 2 实现多...
正反相施密特触发器电路的工作原理详解
什么叫触发器。施密特触发电路 简称 是一种波形整形电路,当任何波形的信号进入电路时,输出在正 负饱和之间跳动,产生方波或脉波输出。不同于比较器,施密特触发电路有两个临界电压且形成一个滞后区,可以防止在滞后范围内之噪声干扰电路的正常工作。如遥控接收线路,传感器输入电路都会用到它整形。施密特触发器。一般...