我正在学习SQLite中的触发器,我发现RAISE()的语法有点令人惊讶,因为它需要一个SELECT才能工作。
例如,此查询将失败并显示Error: near "RAISE": syntax error
,因为我尚未在RAISE()之前添加SELECT
。
CREATE TRIGGER mytrigger
BEFORE INSERT ON mytable
BEGIN
RAISE(FAIL, "Activated - mytrigger.");
END;
为什么在SELECT
之前需要RAISE()
。它只是一个武断的规则,还是有一些我不理解的东西?