1

1 つの外部キーの更新オプションを変更したいと考えています。このために、次のコマンドを実行しました。

 alter table testusers.ORDERS
 DROP CONSTRAINT ORDER_FK_2,
 ADD CONSTRAINT ORDER_FK_2 FOREIGN KEY(FK_PRODUCER_ID) REFERENCES testuser.PRODUCER      (producer_id) 
 ON UPDATE CASCADE ON DELETE CASCADE;

これを実行すると、次のエラーが発生します。

 SQL-Fehler: ORA-01735: Ungültige Option ALTER TABLE
 01735. 00000 -  "invalid ALTER TABLE option"
4

1 に答える 1

3

ドキュメントの構文図http://docs.oracle.com/cd/B28359_01/server.111/b28286/clauses002.htm#CJAEDFIBによると、alter テーブルのコンマ区切りリストはありません。

create table orders(order_id number, fk_producer_id number, CONSTRAINT order_pk PRIMARY KEY (order_id));

create table producer(producer_id number, CONSTRAINT producer_pk PRIMARY KEY (producer_id));

alter table orders
  ADD CONSTRAINT ORDER_FK_2 FOREIGN KEY( FK_PRODUCER_ID) 
  REFERENCES PRODUCER      (producer_id) ;

alter table orders 
DROP CONSTRAINT ORDER_FK_2;

alter table orders
  ADD CONSTRAINT ORDER_FK_2 FOREIGN KEY( FK_PRODUCER_ID) 
  REFERENCES PRODUCER      (producer_id) ;

ええ、そうです。ON UPDATE CASCADE 構文も見つかりませんでした。しかし、私はあなたが今それを解決できると確信しています. それ以外の場合は、少しコメントを残すか、新しい質問を投稿してください。

于 2013-05-31T16:26:09.033 に答える