如何在 ORDERS DB2 表上建立一個新的 TRIGGER?請給出 TRIGGER 的語法。
觸發器是資料庫中由事件驅動的程式,它們由資料庫自動觸發。觸發器是使用 CREATE TRIGGER 語句建立的。
例如,我們希望建立一個觸發器,在 ORDERS 表中每次插入新記錄後,將 ORDERS 表的 ORDER_COMMISION 列更新為 ORDER_TOTAL 值的 5%。
示例
CREATE TRIGGER ORDERCOMMUPD AFTER INSERT ON ORDERS FOR EACH ROW MODE DB2SQL BEGIN ATOMIC UPDATE ORDERS SET ORDER_COMMISION=(5*ORDER_TOTAL)/100;
使用上述語句,我們建立了一個 AFTER 觸發器,它將在 ORDERS 表中插入任何新行後自動觸發。類似地,我們可以使用 BEFORE TRIGGER,它會在對所需表進行任何修改之前自動觸發。觸發器也根據觸發的語句進行分類。

- 當 INSERT 查詢將資料插入 DB2 資料庫時,INSERT 觸發器將被執行。
- 當 UPDATE 查詢修改 DB2 資料庫中的資料時,UPDATE 觸發器將被啟用。
- 當 DELETE 查詢從 DB2 資料庫中刪除資料時,DELETE 觸發器將被執行。
觸發器主要用於由於效能問題或複雜的業務邏輯而無法使用 CHECK 約束的情況。可以使用“CREATE TRIGGER”命令建立觸發器,可以使用“DROP TRIGGER”命令刪除觸發器。
例如,如果我們想建立一個觸發器,我們可以使用以下命令。
示例
CREATE TRIGGER ORDERDISCOUNT AFTER INSERT ON ORDERS FOR EACH ROW MODE DB2SQL BEGIN ATOMIC UPDATE ORDERS SET ORDER_DISCOUNT=(10*ORDER_TOTAL)/100;
可以使用以下命令刪除觸發器。
DROP TRIGGER ORDERDISCOUNT
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP