1
古い「予約」に基づいて新しい表「old_booking」を作成し、古い表から新しい表に「dateTo」行を挿入します。ORA-01400:NULLを挿入できません。
私はなぜこれがあるとどのように私はそれを修正することができますか?SQLPLUS CMDラインでエラーを取得
ORA-01400: cannot insert NULL into ("SYSTEM", "OLDBOOKING", HOTELNO")
を保ちますかあなたはまた、「は除去することによって、NULL値を許可するようにold_bookingテーブルのテーブル定義を変更することができ
INSERT INTO oldBooking(hotelNo, guestNo, dateTo)
SELECT hotelNo, guestNo, dateTo FROM Booking;
:あなたのINSERT文でnullでない列を追加する必要が最小として
CREATE TABLE Booking
(hotelNo CHAR(8) NOT NULL
,guestNo CHAR (8) NOT NULL
,dateFrom DATE
,dateTo DATE
,CONSTRAINT FkhotelNo2 FOREIGN KEY (hotelNo) REFERENCES Hotel(hotelNo)
,CONSTRAINT FkguestNo FOREIGN KEY (guestNo) REFERENCES Guest (guestNo)
);
CREATE TABLE Old_Booking
(hotelNo CHAR(8) NOT NULL
,guestNo CHAR (8) NOT NULL
,dateFrom DATE
,dateTo DATE
);
INSERT INTO oldBooking(dateTo)
SELECT dateTo FROM Booking;
少なくともINSERT INTO oldBooking(hotelNo、guestNo、dateTo)のSELECT文でNOT NULL列を追加する必要があります。SELECT hotelNo、guestNo、dateTo FROM Booking。 – dadde
また、hotelNoおよびguestNoで 'NOT NULL'ステートメントを削除することによって、NULL値を許可するようにold_bookingテーブルのテーブル定義を変更することもできます。 – dadde
@ダイドありがとう! – Rgoat