我需要为exercice创建触发器,我有3个表,其中一个有一个int参数,我想创建这个触发器:
CREATE TRIGGER D1_1 BEFORE INSERT ON T1 FOR EACH ROW
WHEN((SELECT COUNT(*) FROM T2) < 1)
INSERT INTO T2 VALUES(6)
END;
THEN附近的语法错误。
谢谢!
答案 0 :(得分:1)
你甚至不需要条件逻辑:
INSERT INTO T2
SELECT 6
WHERE NOT EXISTS (SELECT 1 FROM t2);
请注意,NOT EXISTS
通常比COUNT(*) = 0
更有效。 NOT EXISTS
在第一个匹配的行停止,而不是遍历整个表来计算所有内容 - 然后在没有行的情况下执行某些操作。