如何在 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