私は販売テーブルを持っています:
Name Null? Type
SALE_ID NOT NULL NUMBER(4)
SALE_DATE DATE
NO_OF_PRODS NUMBER(4)
PROD_ID NOT NULL NUMBER(4)
CUST_ID NOT NULL NUMBER(4)
DESP_ID NOT NULL NUMBER(4)
SALE_RECEIPT NOT NULL NUMBER(5)
ランダムに生成されたデータを sales テーブルに挿入しようとしています。オラクルにiSQL plusを使用しています。これは私が作成しなければならない単なるテストデータです。次のスクリプトを実行して、データを生成します。
begin
insert into sales
select sale_id_seq.nextval,
sysdate,
trunc(dbms_random.value(000,999)),
p.prod_id, c.cust_id
FROM dba_xy.product p, dba_xy.customer c,
desp_id_seq.nextval,
trunc(dbms_random.value(0000,9999));
終わり; /
しかし、そうすると、次のエラーメッセージが表示されます。
trunc(dbms_random.value(0000,9999));
*
9 行目のエラー: ORA-06550: 9 行目、21 列目: PL/SQL: ORA-00933: SQL コマンドが正しく終了していません ORA-06550: 2 行目、2 列目: PL/SQL: SQL ステートメントは無視されました。
私は何を間違えましたか?
DESP_ID は sales テーブル内の外部キーであることに気付きましたが、現在、配送テーブルは空であり、いずれかのテーブルにデータを挿入しようとすると、一方のテーブルが他方のテーブルのデータを必要とするようにできません。このエラーメッセージが表示されます:
PL/SQL: ORA-02289: sequence does not exist