【发布时间】:2025-12-20 23:50:16
【问题描述】:
我正在使用 SQL 和 Oracle 数据库,需要一些帮助 - 我很难理解触发器。
当我在表 A 中插入一行时,我需要一个触发器,以便它更新表 B 上的一行:特别是主键与刚刚添加到表 A 的行的相应外键匹配的行。
例如,表 A 中的列 X 是引用表 B 中的列 Y(主键)的外键。当我向表 A 添加一行时,我需要表 B 的列 Z 将 1 添加到其列 X = Y 列的行中的数值。
根据我对触发器的有限理解,这是我迄今为止在 SQL 中所能得到的,以防万一它有帮助(我意识到它不是很好,将其视为伪代码):
CREATE OR REPLACE TRIGGER test_trig
AFTER INSERT OR UPDATE ON tableA
FOR EACH ROW
BEGIN
UPDATE tableB
SET columnZ = columnZ + 1
WHERE tableA.columnX = tableB.columnY;
END test_trig;
/
谢谢
【问题讨论】: