六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

對于MySQL觸發器的問題

[摘要]triggerMysql中觸發器是一種與表操作有關的數據庫對象,當觸發器所在表上出現指定事件時,將調用該對象,即表的操作事件觸發表上的觸發器的執行。有時在改變表的的某些數據,同時也希望其他相關表中的...

trigger

Mysql中觸發器是一種與表操作有關的數據庫對象,當觸發器所在表上出現指定事件時,將調用該對象,即表的操作事件觸發表上的觸發器的執行。

有時在改變表的的某些數據,同時也希望其他相關表中的數據也改變,利用觸發器就能滿足這樣的需求。運用觸發器不公可以簡化程序,而且可以增加程序的靈活性。

創建觸發器語法如下:

create trigger  name(觸發器名稱)
after/befor(觸發時間)
insert/update/delete(觸發事件,當填寫其中一種,其它的操作不會激活觸發器)
on (監視的表,即在哪張表上建立觸發器 )
for each row (行級觸發器)
begin
(sql語句,希望改變的數據,可寫多條語句,每條語句必須用 ; 結尾)
end;

以上sql語句寫上 ; 后就會執行,觸發器未寫完報錯!

這時就會用到 DELIMITER 命令(delimiter 是定界符,分隔符的意思),它是一條命令,不需要語句結束標識,語法 為:

DELIMITER ;;(可以把mysql的結束標識設為其它的符號,如 ;; 或 $ 還可以設為多個長度)

在這之后的語句,以分號結束觸發器不會有什么反應,只有遇到了 ;;,才認為是結束語句。注意:使用完之后,要記得把它修改回來!

假設系統中有兩個表:
商品表 goods(商品ID gid, 商品名稱 goods_name,商品數量 goods_num)
訂單表 ord(訂單oid ,商品ID gid,訂單數量 goods_much )
要創建觸發器來使商品表中的商品數量隨著訂單表的訂單數量自動更新,代碼如下:

delmiter $
#判斷庫存是否足夠
create trigger t1
before
insert
on ord
for each row
begin
#聲明變量
declare
goods_num int;
select num into goods_num from goods where gid = new.gid;
#判斷
if new.much > goods_num then
    set new.much = goods_num;
end if;
update goods set num = num - new.much where gid=new.gid
end$
delmiter ;

MySQL 中使用 declare 來定義一局部變量,該變量只能在 BEGIN … END 復合語句中使用,并且應該定義在復合語句的開頭,

上述示例中使用了NEW關鍵字,和 MS SQL Server 中的 INSERTED 和 DELETED 類似,MySQL 中定義了 NEW 和 OLD,用來表示觸發器的所在表中,觸發了觸發器的那一行數據。
具體地:
在 INSERT 型觸發器中,NEW 用來表示將要(BEFORE)或已經(AFTER)插入的新數據;
在 UPDATE 型觸發器中,OLD 用來表示將要或已經被修改的原數據,NEW 用來表示將要或已經修改為的新數據;
在 DELETE 型觸發器中,OLD 用來表示將要或已經被刪除的原數據;

以上就是關于MySQL觸發器的問題的詳細內容,更多請關注php中文網其它相關文章!


學習教程快速掌握從入門到精通的SQL知識。




主站蜘蛛池模板: 中文字幕三级在线不卡 | 综合久青草视频 | 亚洲精品有码在线观看 | 一级做a爰片久久毛片美女图片 | 欧美一区二区三区大片 | 天天色天天干天天射 | 色偷偷91综合久久噜噜app | 亚洲欧美日韩另类在线专区 | 青青伊人久久 | 亚洲地址一地址二地址三 | 手机看片日韩日韩韩 | 日韩中文字幕免费 | 日韩三级在线观看视频 | 日本高清黄色网站 | 亚洲精品在线视频观看 | 日韩精品福利在线 | 野草影院手机在线观看免费6 | 小明精品国产一区二区三区 | 日本一本在线视频 | 日韩三级视频在线 | 三级黄在线播放 | 日韩视频免费观看 | 性生大片免费观看性 | 午夜激情视频专区在线观看网站大全 | 亚洲欧美一区二区三区麻豆 | 亚洲区精品 | 欧美做真爱欧美观看免费 | 在线成人国产 | 亚洲精品一二三四区 | 色视频线观看在线播放 | 日本在线观看一级高清片 | 色狠狠狠狠综合影视 | 日本视频在线免费观看 | 天天天天操 | 天堂网男人 | 亚洲第一狼人区 | 亚洲图片国产日韩欧美 | 日a在线 | 色视频线观看在线播放 | 全免费a级毛片免费看不卡 全黄一级片 | 真实国产乱子伦精品一区二区三区 |