我正在尝试响应在一个表 (A) 中插入一行,以根据第三个表 (C) 的值(可以连接到第一个表)在第二个表 (B) 中创建或更新多行.
我有以下构造,
CREATE TRIGGER MyTrigger AFTER INSERT ON A
BEGIN
INSERT OR REPLACE INTO B (ID, T1, T2, Role)
VALUES
(
( SELECT ID FROM C WHERE R1 = NEW.R1 ),
NEW.T1,
B.T2, -- The existing row's T2
( SELECT Role FROM C WHERE R1 = NEW.R1 ),
)
END;
Table A has columns ID, T1, R1
Table B has columns ID, T1, T2, Role
Table C has columns ID, R1, R2, Role
我在尝试编写触发器时至少有两个问题
- 我不知道如何在 REPLACE 案例中引用 B 的现有值,因此是“B.T2”
- 在表 B 中执行 INSERT/REPLACE 时,我不知道如何从表 C 的同一行中引用多个列(R1、Role)。
感谢您帮助解决这个问题。