次のスクリプトを使用してテーブルのセットを作成しようとしました。
DROP TABLE ORDERS IF EXISTS;
DROP TABLE INVOICE IF EXISTS;
CREATE TABLE ORDERS(
ORDER_ID BIGINT NOT NULL PRIMARY KEY IDENTITY,
...
INVOICE_ID BIGINT,
...
);
CREATE TABLE INVOICE(
INVOICE_ID BIGINT NOT NULL PRIMARY KEY IDENTITY,
...
ORDER_ID BIGINT,
...
FOREIGN KEY(ORDER_ID) REFERENCES ORDERS(ORDER_ID)
);
ALTER TABLE ORDERS ADD FOREIGN KEY(INVOICE_ID) REFERENCES INVOICE(INVOICE_ID);
これによりSQL例外が発生します
java.sql.SQLException:FOREIGN KEY制約によって参照されます:ステートメント[DROP TABLE ORDERSIFEXISTS]のPUBLIC.INVOICE.SYS_FK_10079
これを解決する方法がわかりませんでした。ORDERSテーブルのinvoiceIdとINVOICEテーブルのOrderIDが外部キーとして必要です。そのため、ALTER TABLEステートメントを使用しました。それでも、間違っているようです。 hsqldbを使用)
私はこれを適切に行う方法を知りたいです..どんな助けでも大歓迎です..