You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写PL/SQL触发器:插入特定记录时更新另一表

PL/SQL 触发器实现:插入特定记录时更新另一表所有行

以下是满足需求的PL/SQL触发器语法:

CREATE OR REPLACE TRIGGER trg_tableA_after_insert
AFTER INSERT ON tableA
FOR EACH ROW
WHEN (NEW.WATERMARK_FLAG = 'Y')
DECLARE
BEGIN
    UPDATE tableB
    SET PROCESSED_FLAG = 'Y';
END;
/

关键点说明:

  • AFTER INSERT ON tableA:指定触发器在tableA执行插入操作后触发
  • FOR EACH ROW:行级触发器,每插入一行符合条件的记录都会触发一次更新
  • WHEN (NEW.WATERMARK_FLAG = 'Y'):仅当插入的新记录中WATERMARK_FLAG值为'Y'时,才执行触发器逻辑
  • 触发器体中的UPDATE语句:直接将tableB所有行的PROCESSED_FLAG设为'Y'

注意:若tableB数据量极大,全表更新可能引发性能问题,建议根据实际业务场景评估是否需要优化(需求明确要求更新所有行,故此处保留全表更新逻辑)

内容的提问来源于stack exchange,提问作者overexchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 12:59:49