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.

Другие вопросы по тегам