觸發器(trigger)
進行資料庫開發時,有 當某些資料變化時,希望其他相關資料改變 的需求
利用觸發器 能夠完成這樣的動作
觸發器是一類特殊的事務,可以監視某種資料操作(insert/update/delete)並觸發相關操作(insert/update/delete)
使用觸發器不僅可以簡化程式,而且可以增加程式的靈活性
常見應用場合
當乙個訂單產生時,訂單所購的商品庫存量相應減少 (一張表新增或刪除時,需要相關表進行同步操作)
當使用者進行欠款消費,訂單所購商品是否超過使用者最大欠款額度(表中資料與其他表資料有聯絡時)
當新訂單產生,及時通過相關人員進行處理(某張表需要跟蹤)
觸發器四要素
監視地點table 監視事件insert/update/delete 觸發時間 after/before 觸發事件 insert/update/delete
create trigger t1
after
insert
on order
for each row 每一行受到影響 觸發器都會執行 稱為行級觸發器 mysql不支援語句級觸發器
begin
update goods set num=num-2 where gid=1;
end$
使用delimeter 修改mysql直譯器 解釋符
對於insert 新插入的行 用new表示 被刪除的行的值 用old表示
對於update
create trigger t2
after
insert
on order
for each row
begin
update goods set num=num-new.num where gid=new.gid;
檢視已有的triggers show triggers \g
刪除已有的triggers drop trigger name
create trigger t3
after
delete
on order
for each row
begin
update goods set num=num+old.num where gid=old.gid;
end$
create trigger t4
before
insert
on order
for each row
begin
declare rnum int; 定義變數
select num into rnum from goods where gid=new.gid;
if new.num>rnum then
set new.much=rnum;
end if
update goods set num=num-new.num where gid=new.gid;
end$
觸發器 mysql觸發器
觸發器是一種特殊的儲存過程,它在插入 刪除或修改特定表中的資料時觸發執行,它比資料庫本身標準的功能有更精細和更複雜的資料控制能力。和儲存過程一樣,很少使用。1 觸發器的作用 2 建立觸發器 建立測試環境 mysql create database test db query ok,1 row aff...
觸發器的認識
觸發器的認識 一 觸發器簡介 觸發器 trigger 是sql server 提供給程式設計師和資料分析員來保證資料完整性的一種方法,它是與表事件相關的特殊的儲存過程,它的執行不是由程式呼叫,也不是手工啟動,而是由事件來觸發,比如當對乙個表進行操作 insert,delete,update 時就會啟...
觸發器的認識
觸發器的認識 一 觸發器簡介 觸發器 trigger 是sql server 提供給程式設計師和資料分析員來保證資料完整性的一種方法,它是與表事件相關的特殊的儲存過程,它的執行不是由程式呼叫,也不是手工啟動,而是由事件來觸發,比如當對乙個表進行操作 insert,delete,update 時就會啟...