クエリについて少し混乱しています。エラーが発生していますが、動作します。コマンド プロンプトで ORACLE 11gR2 を使用しています。主キーと外部キーを持つ 2 つのテーブル dp (部門) と em (従業員) を作成しました。スクリプトを数回実行すると、DROP TABLE 関数はテーブルを 2 回削除しようとしますが、試行するのは 1 回だけです。なぜそれが起こっているのか、何か考えを教えてください。私のスクリプトを以下に示します。
cl scr
DROP TABLE dp CASCADE CONSTRAINT ;
L
// DROP TABLE dp PURGE ;
L
CREATE TABLE dp (
dpid NUMBER(2),
dname VARCHAR2(20));
DROP TABLE em PURGE ;
CREATE TABLE em (
emid NUMBER(2),
ename VARCHAR2(20),
dpid NUMBER(2));
ALTER TABLE dp
ADD CONSTRAINT pk_dp_dpid PRIMARY KEY (dpid) ;
ALTER TABLE em
ADD CONSTRAINT fk_em_dp_dpid FOREIGN KEY (dpid)
REFERENCES dp (dpid) ;