Wie muss ich CONSTRAINT size_Buchung_EndDatum_StartDatum CHECK (EndDatum >= (Startdatum +2)) ändern? ( EndDatum min. 3 Tage)
CREATE TABLE Buchung(
BuchungsNR INTEGER NOT NULL,
FWID INTEGER NOT NULL,
Email VARCHAR2(30) NOT NULL CHECK(REGEXP_LIKE (Email, '^[A-Za-z0-9+_.-]+@(.+)$')),
BuchDatum DATE NOT NULL,
StartDatum DATE NOT NULL,
EndDatum DATE NOT NULL,
RechnnungsNr CHAR(12) NOT NULL CHECK(REGEXP_LIKE (RechnungsNr, '^[0-9]{12}$')),
RechnungsDatum DATE NOT NULL,
Rechnungsbetrag NUMBER(8, 2) NOT NULL,
BewDatum DATE NOT NULL,
Ranking INTEGER NOT NULL,
CONSTRAINT Buchung_BuchungsNR_pk PRIMARY KEY(BuchungsNR),
CONSTRAINT Buchung_FWID_fk FOREIGN KEY (FWID) REFERENCES FerienWhng(FWID),
CONSTRAINT Buchung_Email_fk FOREIGN KEY (Email) REFERENCES Kunde(Email),
CONSTRAINT size_Buchung_Ranking CHECK (Ranking >= 1 AND Ranking <=5),
CONSTRAINT size_Buchung_EndDatum_StartDatum CHECK (EndDatum >= (Startdatum +2))
);
)
Fehlerbericht -
ORA-02438: Spalten-Check kann sich nicht auf eine andere Spalte beziehen
02438. 00000 - "Column check constraint cannot reference other columns"
*Cause: attempted to define a column check constraint that references
another column.
*Action: define it as a table check constriant.
CREATE TABLE Buchung(
BuchungsNR INTEGER NOT NULL,
FWID INTEGER NOT NULL,
Email VARCHAR2(30) NOT NULL CHECK(REGEXP_LIKE (Email, '^[A-Za-z0-9+_.-]+@(.+)$')),
BuchDatum DATE NOT NULL,
StartDatum DATE NOT NULL,
EndDatum DATE NOT NULL,
RechnnungsNr CHAR(12) NOT NULL CHECK(REGEXP_LIKE (RechnungsNr, '^[0-9]{12}$')),
RechnungsDatum DATE NOT NULL,
Rechnungsbetrag NUMBER(8, 2) NOT NULL,
BewDatum DATE NOT NULL,
Ranking INTEGER NOT NULL,
CONSTRAINT Buchung_BuchungsNR_pk PRIMARY KEY(BuchungsNR),
CONSTRAINT Buchung_FWID_fk FOREIGN KEY (FWID) REFERENCES FerienWhng(FWID),
CONSTRAINT Buchung_Email_fk FOREIGN KEY (Email) REFERENCES Kunde(Email),
CONSTRAINT size_Buchung_Ranking CHECK (Ranking >= 1 AND Ranking <=5),
CONSTRAINT size_Buchung_EndDatum_StartDatum CHECK (EndDatum >= (Startdatum +2))
);
)
Fehlerbericht -
ORA-02438: Spalten-Check kann sich nicht auf eine andere Spalte beziehen
02438. 00000 - "Column check constraint cannot reference other columns"
*Cause: attempted to define a column check constraint that references
another column.
*Action: define it as a table check constriant.