Sqlite CTE-вставка в триггере дает синтаксическую ошибку
У меня проблемы с моим кодом, и я просто не могу понять, в чем проблема, поэтому я решил поставить его здесь в надежде, что другие могут обнаружить ошибку (или подтвердить мое растущее подозрение на ошибку).
Таким образом, в основном код эквивалентен этому, и все, что я получаю даже с этим примером кода, это "Ошибка: рядом с" ВСТАВКА ": синтаксическая ошибка", даже если вставка CTE должна быть полностью допустимой, и она работает, когда не в триггере. Я использую Sqlite 3.8.7.
CREATE TABLE a (val INTEGER);
CREATE TABLE b (val INTEGER);
CREATE TRIGGER update_b AFTER INSERT ON a
BEGIN
WITH prev AS (
SELECT
0 AS val
)
INSERT INTO b(
val
)
SELECT
prev.val
FROM prev;
END;
Спасибо!
1 ответ
Решение
В документации сказано:
Предложение WITH нельзя использовать в CREATE TRIGGER.