SQL server触发器中 update insert delete 分别给写个例子被。
生活随笔
收集整理的這篇文章主要介紹了
SQL server触发器中 update insert delete 分别给写个例子被。
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
SQL server觸發器中 update insert delete 分別給寫個例子以及解釋下例子的作用和意思被, 萬分感謝!!!! 主要想知道下各個語句的書寫規范。
-------------------------------------------------
INSERT:
表1?(ID,NAME) 表2?(ID,NAME) 當用戶插入表1數據后,表2也被插入相同的數據 CREATE?TRIGGER?TRI1 ON?表1 FOR?INSERT AS BEGIN? INSERT?INTO?表2?SELECT?*?FROM?INSERTED END GO?
DELETE:
表1?(ID,NAME) 表2?(ID,AGE,GENDER) 當用戶刪除表1某條ID的數據后,表2相應ID的數據也被刪除? CREATE?TRIGGER?TRI2? ON?表1 FOR?DELETE AS BEGIN? DECLARE?@id?INT SELECT?@id?FROM?DELETED??? DELETE?表2? WHERE?ID?=?@id END GO?
UPDATE:
表1?(ID,NAME) 表2?(ID,NAME) 當用戶更改表1?NAME列數據后,表2相應ID的數據也同時更新 CREATE?TRIGGER?TRI3 ON?表1 FOR?UPDATE AS IF?UPDATE(NAME) BEGINUPDATE?表2SET?A.NAME?=??B.NAMEFROM?表2?A,?INSERTED?BWHERE?A.ID?=?B.ID END GO-------------------------------------------------
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 分享到:?- 上一篇:2013 數據結構課程設計(煙
轉載于:https://www.cnblogs.com/meimao5211/p/3326583.html
總結
以上是生活随笔為你收集整理的SQL server触发器中 update insert delete 分别给写个例子被。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学习Berkeley DB- 入门
- 下一篇: MP3播放器