createtrigger trigger_insert_score
on score
afterinsertasBeginifnotexists(select*from student where sno in(select sno from inserted))BeginrollbacktransactionBegintransactionEndEnd
insertinto score values('1001','2001','89.5')
go
insertinto score values('1002','2001','95')
go
insertinto score values('1011','2001','88')
go
select*from score
向 student 表插入删除触发器,实现 student 表和 score 表的级联删除;
createtrigger trigger_delete_student
on student
fordeleteasBegindelete score where sno in(select sno from deleted)End
deletefrom student where sno='1001'
go
select*from student
向 score 表建立触发器,使 grade 列不能手工修改
createtrigger trigger_protect_grade
on score
forupdateasBeginifupdate(grade)raiserror('cannot modify the grade',16,1)End
deletefrom score where sno='1001'
go
select*from score
go
select*from student