1 触发器介绍
• 触发器是一个数据库机制,当一个数据库事件发生时,自动执行一个或多个数据库操作。
• 该事件可以对数据库进行一个插入、更新、删除或选择一个表或一个视图的操作
• 触发器执行的操作可以插入、更新、删除、执行过程或执行function操作。
• 在同一个表或视图中创建的触发器可以有多个插入、更新、选择或删除。
2 触发器语法
CREATE TRIGGER delete_customer
DELETE ON customer -- triggering
event
BEFORE ( EXECUTE PROCEDURE log_customer_proc( ) ); – triggered
action
• 此示例创建一个删除触发器在表customer名称delete_customer。在一个或多个表customer被删除之前,该触发器将被激活。
• 当触发器被激活的存储过程,log_customer_proc将在表customer删除行执行。
CREATE TRIGGER update_unit_price
UPDATE OF unit_price ON stock --triggering event
REFERENCING OLD AS pre NEW AS post
FOR EACH ROW WHEN (post.unit_price > pre.unit_price * 2)
( INSERT INTO warn_table VALUES(pre.stock_num, pre.manu_code,
pre