0

我正在学习 SQLite 中的触发器,我发现 RAISE() 的语法有些令人惊讶,因为它需要一个 SELECT 才能工作。

例如,此查询将失败并显示,因为我在 RAISE() 之前Error: near "RAISE": syntax error没有添加。SELECT

CREATE TRIGGER mytrigger
BEFORE INSERT ON mytable
BEGIN
    RAISE(FAIL, "Activated - mytrigger.");
END;

为什么SELECT需要之前RAISE()。这只是一个任意规则,还是我不明白的更多内容?

4

1 回答 1

1

因为RAISE()是与任何其他函数(例如LOWER()or TRIM())一样的函数,而不是语句并且不能单独执行。

于 2013-09-11T08:27:21.890 回答