2012-02-22 3 views
-1

Sybase ASE 15.0.3およびDBArtisan 8.5.3を使用しています。Sybase - 新しい昔の古い句を参照するための構文エラーを生成する

テーブルが更新されたときにデータを監査テーブルに格納するトリガーを作成しようとしています。

私のコードは、私が参照の近くに不正な構文を記述し、構文エラーを取得しています

CREATE TRIGGER AUDIT_TRG ON TABLE A 
FOR INSERT,UPDATE 
REFERENCING OLD AS OLD NEW AS NEW 

のようなものです。私が古いか新しいだけを指定した場合、OLDまたはNEWとは異なるエラーが発生します(正確なエラーを覚えることができません)。

古いと新しい:働いているようだ。

更新されるテーブルの古いレコード値と新しいレコード値にどのようにアクセスできますか教えてください。

+0

[documentation](http://infocenter.sybase.com/help/index.jsp? topic =/com.sybase.help.ase_15.0.commands/html/commands/commands29.htm)? SybaseはSQL Serverと同様に、 'old'と' new'ではなく 'inserted'と' deleted'疑似テーブルを持っています。 –

答えて

0

newoldを使用するには、new as newold as oldの参照を作成する必要はありません。

たとえば、あなたがこのようにそれをしなければならない。

new.record_name 
old.record_name 

あなたには、いくつかの変数を使用したい場合、あなたはこのような参照を作成する必要があります。

referencing OLD as some_variable 

そして、あなたが使用この変数は次のようになります。

some_variable.record_name 
+0

あなたが提供する説明についてもう少し説明を追加できますか? – abarisone

関連する問題