nanase753さんの投稿一覧

助け合いフォーラムの投稿
2023/05/14 返信
問題、選択肢、回答の訂正

間違っていたらすみませんが、一意キー制約もしくは主キー制約があろうがなかろうがそもそもの構文が適切ではないので、選択肢の中にあるこちらが正答になっているのではないでしょうか。試してみたのをのせます。
主キー制約設定有り、「FOREIGN KEY」を29826の形で指定した場合。

CREATE TABLE customers
(customer_id NUMBER(4) CONSTRAINT cust_pk PRIMARY KEY);

CREATE TABLE order
(customer_id NUMBER(4) CONSTRAINT cust_fk FOREIGN KEY REFERENCES customers(customer_id));
                          *
行2でエラーが発生しました。:
ORA-02253: ここでは制約は指定できません。

解説と同様のエラーが表示されました。
解説にある通りFOREIGN KEYを抜いたり「(customer_id NUMBER(4), CONSTRAINT cust_fk FOREIGN KEY (customer_id) REFERENCES customers(customer_id));」に変更した場合はエラーが表示されずにテーブルを作成できました。

ちなみに一意キー制約もしくは主キー制約無し、「FOREIGN KEY」を正しく指定した場合。

CREATE TABLE customers
(customer_id NUMBER(4));

CREATE TABLE order
(customer_id NUMBER(4), CONSTRAINT cust_fk FOREIGN KEY (customer_id) REFERENCES customers(customer_id));
            *
行2でエラーが発生しました。:
ORA-02270: この列リストに対して一致する一意キーまたは主キーが存在しません。

こちらのエラーが表示されました。

合格体験記の投稿
投稿がありません