SQL server触发器中 update insert delete 分别给写个例子以及解释下例子的作用和意思被, 万分感谢!!!!
主要想知道下各个语句的书写规范。
INSERT:
表1(ID,NAME)表2(ID,NAME)当用户插入表1数据后,表2也被插入相同的数据CREATETRIGGERTRI1ON表1FORINSERTASBEGININSERTINTO表2SELECT*FROMINSERTEDENDGO
DELETE:
表1(ID,NAME)表2(ID,AGE,GENDER)当用户删除表1某条ID的数据后,表2相应ID的数据也被删除CREATETRIGGERTRI2ON表1FORDELETEASBEGINDECLARE@idINTSELECT@idFROMDELETEDDELETE表2WHEREID=@idENDGO
UPDATE:
-------------------------------------------------表1(ID,NAME)表2(ID,NAME)当用户更改表1NAME列数据后,表2相应ID的数据也同时更新CREATETRIGGERTRI3ON表1FORUPDATEASIFUPDATE(NAME)BEGINUPDATE表2SETA.NAME=B.NAMEFROM表2A,INSERTEDBWHEREA.ID=B.IDENDGO
insert 触发器示例
create trigger tri_insert on student for insert as declare @student_id char(10) select @student_id=s.student_id from student s inner join inserted i on s.student_id=i.student_id if @student_id='0000000001' begin raiserror('不能插入1的学号!',16,8) rollback tran end goupdate触发器示例
create trigger tri_update on student for update as if update(student_id) begin raiserror('学号不能修改!',16,8) rollback tran end godelete触发器示例
create trigger tri_delete on student for delete as declare @student_id varchar(10) select @student_id=student_id from deleted if @student_id='admin' begin raiserror('错误',16,8) rollback tran end 分享到: 上一篇: 数据结构课程设计(烟如果觉得《SQL server触发器中 update insert delete 分别给写个例子被。》对你有帮助,请点赞、收藏,并留下你的观点哦!