Я следующий триггер, который был взят из Oracle тот, который работает:HSQL Trigger неожиданный маркер NEW
create trigger D_DOCUMENT before delete on DOCUMENT
REFERENCING NEW AS newrow OLD AS oldrow
FOR EACH ROW
BEGIN ATOMIC
-- Further SQL
END;
Это в настоящее время работает в рамках HSQLDB. Мне нужно было добавить ключевое слово ATOMIC, однако реальная точка привязки - это строка REFERENCING NEW. Когда я запускаю это я получаю следующее исключение:
Caused by: org.hsqldb.HsqlException: unexpected token: NEW
Глядя на документации, которую я действительно не могу понять, почему этот маркер является неожиданным, так что я запутался, почему это жалуется на «NEW». Комментируя строку, вы получаете сообщение об ошибке «двигаться вперед», однако, похоже, что-то не так с синтаксисом, или это ошибка, с которой я столкнулся.
У кого-нибудь есть этот тип триггера? Можете ли вы опубликовать образец триггера удаления, чтобы попробовать?
Вы ожидаете, что hsqldb будет совместим с хранимыми процедурами продукта Oracle? – jarlh
Нет, я этого не делаю, и поэтому я изменил его с оригинальной спецификации на HSQL. Это возможно с использованием последней версии HSQL, поэтому отсюда и вопрос. – PeterS