引用了这个答案,它会在
tableA
上的每次插入时触发更新。
场景是,
在
tableA
中,我们有 WATERMARK_FLAG
类型的 CHAR(1)
列,其可能值为 Y
或 N
在
tableB
中,我们有 PROCESSED_FLAG
类型的 CHAR(1)
列,其可能值为 Y
或 N
两个表之间没有主键-外键关系
两个表中的主键列相同
PK(col_1,col_3,col_4)
在
INSERT
中记录的 tableA
上,将 WATERMARK_FLAG
作为 Y
更新 PROCESSED_FLAG
,在 Y
的所有行中使用
tableB
如何为特定
INSERT
提供PL/SQL触发器语法?
就是这个
CREATE OR REPLACE TRIGGER bi_tableA
BEFORE INSERT ON bi_tableA
FOR EACH ROW
WHEN (WATERMARK_FLAG = 'Y')
DECLARE
BEGIN
UPDATE tableB
SET PROCESSED_FLAG = 'Y';
END bi_tableA;
/
但是,性能可能会下降。但我认为这只是一个练习。