无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網 會員登陸 & 注冊

軟件測試 | 創(chuàng)建觸發(fā)器

2023-07-28 16:21 作者:測吧測試開發(fā)  | 我要投稿

創(chuàng)建觸發(fā)器的語法如下:

注意:觸發(fā)器只能創(chuàng)建在永久表(Permanent Table)上,不能對臨時表(Temporary Table)創(chuàng)建觸發(fā)器。

其中 trigger_time 是觸發(fā)器的觸發(fā)時間,可以是 BEFORE 或者 AFTER,BEFORE 的含義指在檢查約束前觸發(fā),而 AFTER 是在檢查約束后觸發(fā)。

而 trigger_event 就是觸發(fā)器的觸發(fā)事件,可以是 INSERT、UPDATE 或者 DELETE。

對同一個表相同觸發(fā)時間的相同觸發(fā)事件,只能定義一個觸發(fā)器。例如,對某個表的不同字段的 AFTER 更新觸發(fā)器,在使用 Oracle 數據庫的時候,可以定義成兩個不同的 UPDATE 觸發(fā)器,更新不同的字段時觸發(fā)單獨的觸發(fā)器,但是在 MYSQL 數據庫中,只能定義成一個觸發(fā)

器,在觸發(fā)器中通過判斷更新的字段進行對應的處理。 使用別名 OLD 和 NEW 來引用觸發(fā)器中發(fā)生變化的記錄內容,這與其他的數據庫是相似的。

現在觸發(fā)器還只支持行級觸發(fā)的,不支持語句級觸發(fā)。 在樣例數據庫中,為 film 表創(chuàng)建了 AFTER INSERT 的觸發(fā)器,具體如下:

插入 film 表記錄的時候,會向 film_text 表中也插入相應的記錄

對于 INSERT INOT…ON DUPLICATE KEY UPDATE…語句來說,觸發(fā)觸發(fā)器的順序可能會造成疑惑。下面對 film 表分別創(chuàng)建了 BEFROE INSERT、AFTER INSERT、BEFORE UPDATE、AFTER UPDATE 觸發(fā)器,然后插入記錄,觀察觸發(fā)器的觸發(fā)情況:

從上面的例子可以知道,對于有重復記錄,需要進行 UPDATE 操作的 INSERT,觸發(fā)器觸發(fā)的順序是 BEFORE INSERT、BEFORE UPDATE、AFTER UPDATE;對于沒有重復記錄的 INSERT,就是簡單的執(zhí)行 INSERT 操作,觸發(fā)器觸發(fā)的順序是 BEFORE INSERT、AFTER INSERT。對于那些實際執(zhí)行 UPDATE 操作的記錄,仍然會執(zhí)行 BEFORE INSERT 觸發(fā)器的內容,在設計觸發(fā)器的時候一定要考慮這種情況,避免錯誤地觸發(fā)了觸發(fā)器。

搜索微信公眾號:TestingStudio霍格沃茲的干貨都很硬核

軟件測試 | 創(chuàng)建觸發(fā)器的評論 (共 條)

分享到微博請遵守國家法律
玛沁县| 富川| 西宁市| 汨罗市| 栾川县| 公安县| 宜春市| 博爱县| 大英县| 霞浦县| 溧水县| 扎鲁特旗| 定兴县| 庆城县| 南江县| 宜兰县| 洮南市| 望都县| 正宁县| 漯河市| 巴林右旗| 邹平县| 鞍山市| 昌吉市| 广水市| 长子县| 武定县| 赣州市| 大厂| 扶风县| 金寨县| 礼泉县| 布尔津县| 漳州市| 和政县| 嘉荫县| 昭平县| 灵石县| 英德市| 宁蒗| 鄂托克前旗|