最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL數(shù)據(jù)庫的觸發(fā)器的使用

 更新時間:2022年09月29日 09:39:57   作者:阿檸xn???????  
這篇文章主要介紹了MySQL數(shù)據(jù)庫的觸發(fā)器的使用,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下

使用觸發(fā)器

觸發(fā)器

發(fā)生什么事情之后或之前,會自動執(zhí)行某條語句,這就是觸發(fā)器

創(chuàng)建觸發(fā)器

創(chuàng)建觸發(fā)器要給出的4條關(guān)鍵信息:

  • 1.唯一的觸發(fā)器名
  • 2.觸發(fā)器關(guān)聯(lián)的表
  • 3.觸發(fā)器應(yīng)該響應(yīng)的活動(DELETE,INSERT or UPDATE)
  • 4.觸發(fā)器何時執(zhí)行(處理之前or之后)

CREATE TRIGGER語句創(chuàng)建觸發(fā)器

CREATE TRIGGER newproduct AFTER INSERT ON products
FOR EACH ROW
SELECT 'Product added';

FOR EACH ROW 代碼對每個插入行執(zhí)行。

刪除觸發(fā)器

DROP TRIGGER newproduct;

使用觸發(fā)器

INSERT觸發(fā)器

INSERT觸發(fā)器在INSERT語句執(zhí)行之前或之后執(zhí)行。需要知道一下幾點:

  • 在INSERT觸發(fā)器的代碼內(nèi),可引用一個名為NEW 的虛擬表,訪問被插入的行。
  • 在BEFORE INSERT觸發(fā)器中,NEW中 的值也可以被更新(允許更改被插入的值)
  • 對于AUTO_INCREMENT列,NEW 在INSERT執(zhí)行之前包含0,在INSERT執(zhí)行之后包含新的自動生成值。
CREATE TEIGGER neworder ?AFTER INSERT ON orders
FOR EACH ROW SELECT NEW.order_num;

這個觸發(fā)器講了咋個事情呢?你不要覺得云里霧里的,我們知道這個INSERT是不會顯示什么信息出來的,所以我們加一個 AFTER INSERT

就是你只要一插入,我們就讀出來這個訂單號顯示出來。就是這么一個功能,你不要想的太復(fù)雜了。所以你只能AFTER昂,BEFORE你能讀出來個啥。

DELETE觸發(fā)器

你也需要知道幾點:

  • 在DELETE觸發(fā)器的代碼中,你可以引用一個名為OLD的虛擬表,訪問被刪除的行。
  • OLD中的值全都是只讀,不能更新。

例:演示使用OLD保存將要刪除的行到一個存檔表中。

CREATE TRIGGER deleteorder BEFORE DELETE ON oreders
FOR EACH ROW
BEGIN 
    INSERT INTO archive_orders(order_num,order_date,cust_id)
    VALUES(OLD.order_num,OLD.order_date,OLD.cust_id);
END;

UPDATE觸發(fā)器

注意幾點:

  • 在UPDATE觸發(fā)器代碼中,你可以引用一個OLD的虛擬表訪問以前的值,引用一個名為NEW的虛擬表訪問更新的值。
  • 在BEFORE UPDATE觸發(fā)器中,NEW中的值可能也被更新
  • OLD中的全是只讀的。

例:保證州名縮寫總是大寫

CREATE TRIGGER updatevendor BEFORE UPDATE ON vendors
FOR EACH ROW SET NEW.vend_state = Upper(New.vend_state); 

??這個例子我想說一下,它這個的話就意味著我們對這個NEW的改變是會影響到實際表中的。這點應(yīng)該注意到。

觸發(fā)器的進(jìn)一步介紹

MySQL觸發(fā)器是不支持CALL語句的,這是十分遺憾的,所需的存儲過程的代碼需要復(fù)制到觸發(fā)器內(nèi)。

到此這篇關(guān)于MySQL數(shù)據(jù)庫的觸發(fā)器的使用的文章就介紹到這了,更多相關(guān)MySQL觸發(fā)器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何更改MySQL數(shù)據(jù)庫的編碼為utf8mb4

    如何更改MySQL數(shù)據(jù)庫的編碼為utf8mb4

    utf8mb4編碼是utf8編碼的超集,兼容utf8,并且能存儲4字節(jié)的表情字符。 這篇文章給大家介紹了更改MySQL數(shù)據(jù)庫的編碼為utf8mb4的相關(guān)知識,感興趣的朋友一起看看吧
    2020-02-02
  • MySql中的常用參數(shù)查詢

    MySql中的常用參數(shù)查詢

    這篇文章主要介紹了MySql中的常用參數(shù)查詢,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • MySQL SQL 語法參考

    MySQL SQL 語法參考

    MySQL SQL 語法參考...
    2006-12-12
  • 30種SQL語句優(yōu)化的方法匯總

    30種SQL語句優(yōu)化的方法匯總

    這篇文章從30個方面,分享了sql優(yōu)化的一些小技巧,希望對你有所幫助,需要的朋友可以參考下
    2022-10-10
  • mysql 判斷記錄是否存在方法比較

    mysql 判斷記錄是否存在方法比較

    把數(shù)據(jù)寫入到數(shù)據(jù)庫的時,常常會碰到先要檢測要插入的記錄是否存在,然后決定是否要寫入。
    2011-08-08
  • mysql導(dǎo)入csv的4種報錯的解決方法

    mysql導(dǎo)入csv的4種報錯的解決方法

    這篇文章主要介紹了mysql導(dǎo)入csv的4種報錯的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 關(guān)于mysql 的時間類型選擇

    關(guān)于mysql 的時間類型選擇

    本篇文章是對mysql中的時間類型選擇進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • MySQL 普通索引和唯一索引的區(qū)別詳解

    MySQL 普通索引和唯一索引的區(qū)別詳解

    這篇文章主要介紹了MySQL 普通索引和唯一索引的區(qū)別詳解,幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下
    2021-03-03
  • MySQL磁盤碎片整理實例演示

    MySQL磁盤碎片整理實例演示

    這篇文章主要給大家介紹了關(guān)于MySQL磁盤碎片整理的相關(guān)資料,為什么數(shù)據(jù)庫會產(chǎn)生碎片,以及如何清理磁盤碎片,還有一些清理磁盤碎片的注意事項,需要的朋友可以參考下
    2022-04-04
  • MySQL主從復(fù)制基于binlog與GTID詳解

    MySQL主從復(fù)制基于binlog與GTID詳解

    本文介紹了基于binlog和GTID的MySQL主從復(fù)制搭建步驟,包括準(zhǔn)備環(huán)境、創(chuàng)建授權(quán)賬戶、配置主從庫等,通過主從復(fù)制,可以實現(xiàn)數(shù)據(jù)的高可用、負(fù)載均衡和災(zāi)難恢復(fù),首先,確保環(huán)境一致性,然后在數(shù)據(jù)庫中創(chuàng)建具有復(fù)制權(quán)限的賬戶
    2024-10-10

最新評論

乐亭县| 大宁县| 阜阳市| 合肥市| 青海省| 云梦县| 莱芜市| 昭觉县| 金沙县| 泸州市| 临洮县| 五家渠市| 乌鲁木齐县| 章丘市| 石阡县| 安龙县| 仪征市| 博爱县| 宣城市| 克山县| 张掖市| 东莞市| 普陀区| 临夏县| 稷山县| 上林县| 平顺县| 恩平市| 福安市| 文山县| 双鸭山市| 定州市| 仪陇县| 恩施市| 华蓥市| 汉沽区| 文登市| 松江区| 嵊州市| 金华市| 阳山县|