Я пытаюсь реализовать триггеры в hsql после обновления, где у меня есть одна таблица с именем таблица компонентов, и при обновлении в этой таблице я хочу записать ее в другую таблицу, используя триггер после вставки, для которого я делаю
CREATE TABLE IF NOT EXISTS "component"(
"id" INTEGER IDENTITY,
"name" VARCHAR(100),
"configuration" LONGVARCHAR,
"owner_id" INTEGER );
CREATE TABLE IF NOT EXISTS "component_audit"(
"id" INTEGER IDENTITY,
"component_id" INTEGER ,
"action" VARCHAR(20),
"activity_time" BIGINT,
"user_id" INTEGER,
FOREIGN KEY ("component_id") REFERENCES "component"("id") ON UPDATE RESTRICT ON DELETE CASCADE
);
CREATE TRIGGER trig AFTER INSERT ON "component"
REFERENCING NEW ROW AS newrow
FOR EACH ROW
INSERT INTO "component_audit" ("id","component_id","action","activity_time","user_id")
VALUES (DEFAULT, 1, newrow.id, 123, 1);
При запуске HSQL выдает ошибку
Вызывается: org.hsqldb.HsqlException: пользователю не хватает привилегии или объект не найден: NEWROW.ID
Это из-замой столбец идентификатора находится в "id", потому что он мне нужен в маленьких заглавных буквах (по DEFAULT HSQLDB в верхнем регистре), как передать мою переменную подстановку?