Как создать триггер SQLite для вычисления промежуточных итогов по таблице «Факт»? Следующий код SQL должен обновить таблицу AccountBalances так, чтобы столбец Balance насчитывал 1, 2, 3, ... rowcount. Однако триггер обновляет только 2-ю строку, даже когда я включил recursive_triggers. Результат ниже: строка 1 = 1, строка 2 = 2, а строки после этого равны нулю.
CREATE TEMP TABLE "AccountBalances" (
"Id" INTEGER PRIMARY KEY,
"DateId" INT,
"AccountId" INT,
"AccountCurrAmount" REAL,
"Balance" REAL);
INSERT INTO "AccountBalances"
(DateId, AccountId, AccountCurrAmount)
SELECT DateId, AccountId, Sum(AccountCurrAmount)
FROM Actual
GROUP BY DateId, AccountId
ORDER BY AccountId, DateId;
CREATE TRIGGER UpdateAccountBalance AFTER UPDATE ON AccountBalances
BEGIN
UPDATE AccountBalances
SET Balance = 1 + new.Balance
WHERE Id = new.Id + 1;
END;
PRAGMA recursive_triggers = 'on';
UPDATE AccountBalances
SET Balance = 1
WHERE Id = 1