觸發器的定義
觸發器是乙個特殊的儲存過程,主要是通過事件來觸發而被執行的。它可以強化約束,來維護資料的完整性和一致性,可以跟蹤資料庫內的操作從而不允許未經許可的更新和變化。可以聯級運算。如,某錶上的觸發器上包含對另乙個表的資料操作,而該操作又會導致該錶觸發器被觸發。
觸發器的作用
觸發器是乙個特殊的儲存過程,主要是通過事件來觸發而被執行的。它可以強化約束,來維護資料的完整性和一致性,可以跟蹤資料庫內的操作從而不允許未經許可的更新和變化。可以聯級運算。如,某錶上的觸發器上包含對另乙個表的資料操作,而該操作又會導致該錶觸發器被觸發。
*select * from booktype
select * from books
insert books values(『建築測量』,『測得很準』,2)
–當我在書籍表插入一條資料時,觸發乙個事件
–這個事件,將會自動在分類表,將該書籍對應的類別的庫存加-1
go–觸發器
create trigger tri_add
on books after insert
as–修改分類表的庫存
declare @typeid int
select @typeid=typeid from inserted
update booktype set nums =nums+1 where id=@typeid
–系統預設有兩個表
inserted 裝新增的資料
deleted 裝舊資料
boostrap 太爽了 2(修改之前) deleted
boostrap 太爽 3(修改之後的資料) inserted
select * from booktype
select * from books
delete from books where id=9
gocreate trigger tri_delete
on books after insert
as–修改分類表的庫存
declare @typeid int
select @typeid=typeid from deleted
update booktype set nums =nums-1 where id=@typeid --@剛刪除的那條資料分類id
delete from books where typeid=3
gocreate trigger tri_update
on books for update
asdeclare @newtypeid int --@修改後的分類
declare @oldtypeid int --@修改之前的分類
select @newtypeid=typeid from inserted
select @oldtypeid=typeid from deleted
update booktype set nums=nums-1 where id=@oldtypeid
update booktype set nums=nums+1 where id=@newtypeid
*
關於觸發器
dml觸發器 語句觸發器 當執行dml語句時被隱含執行的觸發器 語法 create or replace trigger t update a event1 or event2 or event3 on table name pl sql block 行觸發器 當執行dml語句時,每作用一行被觸發一...
關於觸發器
inserted存放進行insert和update操作後的資料,deleted存放進行delete和update操作前的資料,他們是觸發器執行時用到的兩張特殊表,也可以說是種臨時表,是在進行啟用觸發器時由系統自動生成 如你給了資料庫裡兩張表,一張學生表 student 一張成績表 score 當你想...
關於Mysql 觸發器
首先,測試版本 mysql 5.6。然後再看觸發器的語法 create definer triggertrigger name trigger timetrigger event ontbl namefor each row trigger body trigger time trigger eve...