【发布时间】:2016-04-06 08:44:16
【问题描述】:
我有以下触发器,它取自一个正在工作的 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
查看文档我真的不明白为什么这个令牌是意外的,所以我很困惑为什么这是抱怨“新”。 注释掉该行确实会导致“继续前进”的错误,但是似乎语法有问题,或者这是我偶然发现的一些错误。
有人用过这种类型的触发器吗?您可以发布一个示例删除触发器来尝试吗?
【问题讨论】:
-
您希望 hsqldb 与 Oracle 的产品特定存储过程兼容吗?
-
不,我没有,因此我已将其从原始规范修改为 HSQL。使用最新版本的 HSQL 可以做到这一点,所以问题就来了。