SQL Sever 第五堂课:触发器知识。
--触发器:触发器就是一种特殊的存储过程 --特殊的地方在于,触发器是通过对数据库表的操作,来引发 --存储过程是通过人为exec来执行 select *from student create trigger Student_Insert --创建触发器 on student --指定触发器所在的表 after insert --当执行insert操作的时候自动执行触发器,for 和after都是在操作后执行 as update student set sbirthdy=‘1999-9-9‘ where sno=1 go insert into student values(7,‘向立硕‘,‘男‘,‘1989-2-22‘,95031) create trigger Student_Delete on student instead of delete --替换某个操作,用触发器的过程来替换删除的操作,不再能够删除stduent表数据 as update student set sbirthdy = ‘2015-4-29‘ where sno = 2 go delete from student select*from student drop trigger student_delete -----------------------------触发器格式 create trigger 触发器名 on 表名 ((for/after)|instead of) 动作(insert|update|delete) as 存储过程内容 go for/after :先执行操作,再执行触发器 instead of:直接替换操作 -- create trigger Student_delete2 on student instead of delete --把delete from student 这个操作直接替换掉 as delete from score where sno = 2 delete from student where sno = 2 --有主外键关系可以执行两个表 go delete from student drop trigger student_delete2--删除触发器 select*from student select*from score --触发器中的临时表:deleted,inserted delete from course where cno=‘3-245‘ create trigger Course_Delete --创建一个的存储过程 on course --在课程表里 instead of delete --直接替换delete操作 as select *from deleted --这是一个临时表。替换掉操作后,里面存着你要删除的那些数据 go delete from course where cno=‘3-245‘ --deleted是一个临时表,里面存着你要删除的那些数据、
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。