我有以下触发器,它来自正在运行的Oracle:
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
查看文档我真的无法理解为什么这个令牌是意料之外的,所以我很困惑为什么这会抱怨“新”。 注释掉该行确实会导致错误“移动”,但是语法似乎有问题,或者是我偶然发现的一些错误。
有没有人有这种类型的触发器工作?您可以发布样本删除触发器来尝试吗?
答案 0 :(得分:0)
BEFORE DELETE触发器中没有NEW ROW。只有一条旧行即将被删除。
错误表明了这一事实。