第19讲++触发器
Posted 该☆隐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第19讲++触发器相关的知识,希望对你有一定的参考价值。
为xs_kc表创建一个名为t1的insert触发器,当向xs_kc表进行插入操作时激发该触发器,并给出提示信息“有新成绩信息插入到xs_kc表中!”。
create trigger t1 on xs_kc for insert as print ‘有新成绩信息插入到xs_kc表中! ’ go insert xs_kc values( \'2012130101\', \'111\', 87, null )
要在xscj库的xsqk表中插入下面所示的2条信息,如果在该表上未创建触发器,则可成功插入到xsqk表中。但我们希望插入的信息必须是“计算机应用” 系,否则就撤消刚才的插入,并返回错误信息。用触发器实现该约束
use xscj insert xsqk values(\'2012140101\', \'陈希\', 1, \'1995-8-12\', \'环境艺术\', \'传媒\') insert xsqk values(\'2012130110\', \'黄倩\', 0, \'1996-1-1\', \'信息安全\', \'计算机应用\')
为xsqk表创建一个名为t3的delete触发器,当要删除信息安全专业学生的数据行时,激发该触发器,撤销删除操作,并给出提示信息“不能删除信息安全专业的学生信息!”,否则给出提示信息“删除成功!”
create trigger t3 on xsqk for delete as if(select 专业名 from deleted)=‘信息安全’ begin rollback transaction print ‘不能删除信息安全专业的学生信息!’ end else print ‘删除成功!’ go delete xsqk where 专业名= ‘信息安全’
为xsqk表创建一个update触发器,当更新了某位学生的学号信息时,就用触发器级联更新xs_kc表中相关的学号信息。
create trigger t4 on xsqk for update as declare @old char(10), @new char(10) select @old=deleted.学号, @new=inserted.学号 from deleted, inserted where deleted.姓名=inserted.姓名 print \'准备级联更新xs_kc表中的学号信息…\' update xs_kc set 学号=@new where 学号=@old print \'已经级联更新xs_kc表中原学号为\'+@old +\'的信息!\'
以上是关于第19讲++触发器的主要内容,如果未能解决你的问题,请参考以下文章
19 01 11 javascript ?????????????????????(???????????????) ??????????????????????????????(代码片段