0

SQLステートメントに問題があります。次のステートメントを使用して、テーブル内の外部キーに対して「ONUPDATECASCADE」動作をアクティブにします。

ALTER TABLE "DB"."RECORD" ADD CONSTRAINT "RECORD_PT_OUTIL_FK1" FOREIGN KEY ("CDE_PO")
REFERENCES "DB"."PT_OUTIL" ("CDE_PO") ON UPDATE CASCADE ENABLE;

しかし、Oracle Developerでステートメントを実行すると、次のエラーメッセージが表示されます。「ORA-00905:キーワードがありません」この不足しているキーワードが何であるかがわかりません。いくつかの変更を試みましたが、常に同じエラーが発生します。Oracle Developerによって生成されたコードを自分で再利用し、必要なものに変更するだけです。これは生成されたコードです:

ALTER TABLE "DB"."RECORD" ADD CONSTRAINT "RECORD_PT_OUTIL_FK1" FOREIGN KEY ("CDE_PO")
REFERENCES "DB"."PT_OUTIL" ("CDE_PO") ON DELETE CASCADE DISABLE;

ほら、私はそれの終わりを変えるだけです。では、ここで何が問題なのですか?私は何かが足りないのですか?(それが明白な何かであるならば、バッシングしないでください:))Thx!

4

2 に答える 2

1

ON UPDATEOracle は、外部キーの句をサポートしていません。

REFERENCESマニュアルの句の説明を参照してください:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/clauses002.htm#CJAIHHGC

于 2011-04-07T06:42:29.240 に答える
0

コマンドの末尾にあるDISABLE/を削除してみてくださいENABLE

ADD CONSTRAINT リファレンスによると、コマンドの一部として「有効/無効」はないようです。

これは、Oracle Developerが最後に追加しているものであり( Oracle Syntaxの一部である)、問題を引き起こしている可能性があると思います!!

于 2010-10-11T10:49:11.813 に答える