2016-04-06 11 views
0
私が働いているのOracle 1から撮影されている次のトリガーは、している

HSQLトリガー予期しないトークン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ラインです。 私はこれを実行すると、私は次の例外を取得:

このトークンは予想外ですので、私はこれが「NEW」文句を言っている理由として困惑している理由は、私は本当に理解できないのドキュメントを見てみると
Caused by: org.hsqldb.HsqlException: unexpected token: NEW 

。 行をコメントアウトするとエラーが発生しますが、どちらかの構文が間違っているように見えますが、私が遭遇したバグです。

誰でもこのタイプのトリガーが動作していますか?試みるサンプル削除トリガを投稿できますか?

+0

hsqldbは、Oracleの製品固有のストアドプロシージャと互換性がありますか? – jarlh

+0

いいえ、私はそれを元の仕様からHSQLに変更しました。これはHSQLの最新バージョンを使用することで可能です。 – PeterS

答えて

0

BEFORE DELETEトリガーにNEW行がありません。削除しようとしているOLD ROWしかありません。

このエラーは、この事実を示しています。

+0

ありがとう@fredt、それは答えです。 – PeterS

関連する問題