SQL Tabelle

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.
 
G

Gelöschtes Mitglied 65838

Gast
du solltest in einer SQL datenbank nicht von einem anderen wert auf einen anderen Schließen wenn du das könntest wäre 1e Spalte komplett nutzlos

hast du anfangsdatum + dauer
kannst du auf das Enddatum kommen



hättest du jetzt auch noch das endatum in der Tabelle hättest du alles Doppelt drin


PS: sogar mit so einem Buchungs Beispiel hats mir mein prof damals gezeight
 

thecain

Top Contributor
Ich sehe keinen Verstoss. Die Dauer ist ja gar nicht in der Tabelle...
Versuch mal den Constraint in einem separaten ALTER Table auszuführen
 
Noch eine Frage: Bezieht sich der Fehler bei Anzahlung auf RechnunsNr CHECK REGEXP_LIKE in der Tabelle Buchung?


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,
RechnungsNr 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))
);


CREATE TABLE Anzahlung(
AnzID INTEGER NOT NULL,
BuchNr INTEGER NOT NULL,
AnzBetrag NUMBER(8, 2) NOT NULL,
AnzDatum DATE NOT NULL,
CONSTRAINT Anzahlung_AnzID_pk PRIMARY KEY(AnzID),
CONSTRAINT Anzahlung_BuchNr_fk FOREIGN KEY (BuchNr) REFERENCES Buchung(RechnungsNr)
);

Fehlerbericht -
ORA-02267: Spaltentyp nicht kompatibel mit Spaltentyp, auf den Bezug genommen wird
02267. 00000 - "column type incompatible with referenced column type"
*Cause: The data type or collation of the referencing column was
incompatible with the data type or collation of the referenced
column.
*Action: Select a compatible data type for the referencing column.
Also, the collation of a character column in a foreign key must
match the collation of the corresponding column in the primary
key.
 
K

kneitzel

Gast
Du hast:
BuchNr INTEGER NOT NULL,
CONSTRAINT Anzahlung_BuchNr_fk FOREIGN KEY (BuchNr) REFERENCES Buchung(RechnungsNr)

Aber in Buchung ist die RechnungsNr:
RechnungsNr CHAR(12) NOT NULL CHECK(REGEXP_LIKE (RechnungsNr, '^[0-9]{12}$')),

Das ist zumindest ein Fehler und der erste, den ich gesehen habe. Ob dies der erste ist, den Oracle gesehen hat, kann ich nicht sagen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Ich möchte dass ich nachdem man den Kommentar geschrieben hat den Kommentar in den Tabelle Bestellübersicht geschbeichert wird klappt nicht bei mir Datenbankprogrammierung 2
D Tabelle an Persistenzeinheit binden Datenbankprogrammierung 1
T Datenbank: Tabelle erstellen bei Web-Applikation Datenbankprogrammierung 4
S gesamte Tabelle löschen Datenbankprogrammierung 2
Zrebna Wie mittels Hibernate eine Join-Tabelle als eigene Java-Klasse erstellen? Datenbankprogrammierung 5
N Oracle SQL - Nächst kleineren Namen2 zu einem Namen aus einer Tabelle Datenbankprogrammierung 3
Kirby.exe Eine Tabelle updaten Datenbankprogrammierung 16
L SQL Datenbank Tabelle insert Datenbankprogrammierung 7
L SQL Datenbank Tabelle erstellen Datenbankprogrammierung 6
B Wie kopieren ich eine Spalte von einer Tabelle in eine andere Tabelle SQLite durch java code? Datenbankprogrammierung 26
J Oracle Datenbank-Tabelle per Combobox (oder ähnliches) auswählen Datenbankprogrammierung 3
P Derby/JavaDB Datenbanktabelle erweitern, ohne Tabelle zu ändern Datenbankprogrammierung 6
B Datenmodell für Regeln + Bedingungen & Referenz auf andere Tabelle Datenbankprogrammierung 12
S FilterSearch Tabelle Datenbankprogrammierung 4
J Aufbau meiner Datenbank/Tabelle - Verbessern? So lassen? Datenbankprogrammierung 39
Dimax MySQL 10 höchsten Werte aus einer Tabelle ermitteln Datenbankprogrammierung 30
L Java- Zähle alle Werte aus der Tabelle von aktiver Zelle Datenbankprogrammierung 12
B Tabelle für "wiederkehrende Rechnungen" Datenbankprogrammierung 12
P JSP - Daten aus 2 Tabellen in eine neue Tabelle einfügen Datenbankprogrammierung 1
Thallius MySQL Tabelle splitten aber wie eine abfragen? Datenbankprogrammierung 10
D MySQL Suche nach Max Value in einer Tabelle Datenbankprogrammierung 7
RowdyN SQLite Einfache Abfrage mit temporäre Tabelle, die nur innerhalb der Abfrage gültig ist Datenbankprogrammierung 0
N Dynamische Tabelle Datenbankprogrammierung 84
T Zeitraum aus SQL-Tabelle Datenbankprogrammierung 3
V SQLite 2 Tabelle vergleichen und alle unterschiede rausgeben Datenbankprogrammierung 1
D UCanAccess / MS Access - Tabelle / Spalte vorhanden Datenbankprogrammierung 3
M MySQL wie Listen oder arras in Tabelle(n) schreiben Datenbankprogrammierung 10
Paul15 Tabelle vergleichen Datenbankprogrammierung 15
J Tabelle synchronisieren mit Datenbank Datenbankprogrammierung 7
E Wie kann man bestimmte Zeilen der Tabelle rot markieren? Datenbankprogrammierung 1
L Tabelle mit Inhalt füllen Datenbankprogrammierung 2
J Optimierung von Querys/ ausgegebene Tabelle mit in neue Anfrage einbinden Datenbankprogrammierung 2
M Derby/JavaDB Kleine DB mit Tabelle erweitern - Integrität - Alter-Table - Netbeans ... Datenbankprogrammierung 5
C Tabelle erstellen mit Apache JDBC-Util Datenbankprogrammierung 1
A MySQL Tabelle ID abfragen und Spalte ausgeben Datenbankprogrammierung 4
S Update Tabelle aus Textfeld Datenbankprogrammierung 2
A MySQL Problem bei Tabelle ausgeben Datenbankprogrammierung 3
E Nur der letzte Datensatz wird in Tabelle geschrieben Datenbankprogrammierung 4
B Nur 99% der Datensätze werden in Tabelle geschrieben Datenbankprogrammierung 2
Joew0815 Datenmerge große Tabelle Datenbankprogrammierung 16
R MySQL Blob aus DB auslesen und einer Tabelle ausgeben Datenbankprogrammierung 7
P Neue Tabelle dazugekommen Datenbankprogrammierung 1
C H2 Syntax fehler beim erstellen einer Tabelle Datenbankprogrammierung 4
J Normalisierung - Aufspaltung der Tabelle Datenbankprogrammierung 4
V HSQLDB Insert in eine Tabelle mit Autoincrement Datenbankprogrammierung 2
S Wie muss meine SQL Tabelle aufgebaut sein, um unendliche Attribute zu vermeiden Datenbankprogrammierung 2
R HSQLDB Tabelle in JTable übertragen Datenbankprogrammierung 3
S MySQL Einfügen in Tabelle nur von Programm zulassen Datenbankprogrammierung 7
S Oracle Database 11g , eclipse , Tabelle erstellen Datenbankprogrammierung 2
L MySQL Uhrzeit-Format innerhalb einer Tabelle Datenbankprogrammierung 8
E Abfrage nach existierender SQL-Tabelle Datenbankprogrammierung 7
M Designfrage zu Rows die sich auf einen Datensatz derselben Tabelle beziehen Datenbankprogrammierung 7
N Temporäre tabelle MySQL Datenbankprogrammierung 2
X MySQL Hibernate: Massenupdate auf unbekannte Tabelle Datenbankprogrammierung 4
D DB Tabelle in JTable anzeigen - Probleme Datenbankprogrammierung 8
Rudolf MySQL MySQL Tabelle mit Fremdschlüsseln in JTable darstellen Datenbankprogrammierung 5
Kenan89 Oracle Daten einer Tabelle in Array speichern Oracle Datenbankprogrammierung 10
L SQLite Daten werden nicht in die Tabelle eingefügt Datenbankprogrammierung 7
D JPA (Hibernate) : Tabelle zweimal joinen Datenbankprogrammierung 4
G Oracle Hibernate M:N-Beziehung mit nur einer vorhandenen Tabelle Datenbankprogrammierung 5
N [XLS]Strings in Excel-Tabelle schreiben (poi) Datenbankprogrammierung 2
M DB View in Tabelle konvertieren in DB2? Datenbankprogrammierung 2
N Einzelne Spalte in MySQL-DB-Tabelle schreiben Datenbankprogrammierung 7
D Probleme bei der Erzeugung einer Tabelle Datenbankprogrammierung 15
I Derby/JavaDB Problem mit Befüllung von Tabelle Datenbankprogrammierung 7
H MySQL Tabelle "Table" programmieren Datenbankprogrammierung 2
S Problem beim Anlegen einer Tabelle Datenbankprogrammierung 5
I Tabelle mit "|" getrennten Werten -> einzelnen Wert davon abfragen Datenbankprogrammierung 15
L Derby/JavaDB Fehler beim Erstellen einer Tabelle Datenbankprogrammierung 2
A Wie Tabelle auf bestimmten Inhalt überprüfen? Datenbankprogrammierung 7
G SQLite Abfrage, ob in Tabelle X Spalte Y existiert Datenbankprogrammierung 4
Y Tabelle (elegant) importieren Datenbankprogrammierung 4
turmaline [Hibernate] @OneToMany - Eine referenzierte Tabelle abfragen Datenbankprogrammierung 11
T Update an SQL Tabelle ?! Datenbankprogrammierung 10
F Baumstruktur erstellen und Art Tabelle festhalten!? Datenbankprogrammierung 13
S JPA: Objekt in Tabelle mit Composite Keys mappen (Embeddable Annotation) Datenbankprogrammierung 2
A Tabelle aktuell halten Datenbankprogrammierung 5
trash SQL, ganze Tabelle abfragen Datenbankprogrammierung 3
F HSQLDB HSQLDB lässt mich nicht auf erstellte Tabelle zugreifen Datenbankprogrammierung 12
Airwolf89 Spaltennamen einer Tabelle zurückgeben lassen Datenbankprogrammierung 9
J Ausgewählte Datensätze in DB-Tabelle schreiben Datenbankprogrammierung 13
J zufällige Auswahl aus einer Tabelle Datenbankprogrammierung 4
O eine Tabelle hat mehrere PrimKey mit dem selben Wert Datenbankprogrammierung 9
M Ausgabe in Tabelle der MySQL-Datenbank mit Java Datenbankprogrammierung 4
J Tabelle auslesen- knifflig Datenbankprogrammierung 7
Z [ORACLE] Ausgabe Tabelle im GUI Datenbankprogrammierung 4
S Daten einer Tabelle vergleichen und ggs neuen Wert einfügen Datenbankprogrammierung 8
R Tabelle Updaten aber auch Speichern Datenbankprogrammierung 2
D MySql Tabelle mit MySQLAdministrator (Anfänger) Datenbankprogrammierung 5
M Spaltennamen einer MS Access Tabelle ermitteln Datenbankprogrammierung 3
B Suche Query um genau einen Wert einer def. Gruppe aus einer Tabelle zu erhalten. Datenbankprogrammierung 2
C Prüfen, ob eine MySQL-Tabelle bereits existiert Datenbankprogrammierung 7
M Tabelle in Access Datei mit JDBC generieren Datenbankprogrammierung 3
G Tabelle für Zeitraum sperren Datenbankprogrammierung 4
G DB Modellierung mit variablen Attributen in der Tabelle Datenbankprogrammierung 4
S Datenbank-Tabelle in SWING/AWT ausgeben Datenbankprogrammierung 28
K Tabelle mit resultset refreshen? Datenbankprogrammierung 4
B Doppelte Zeilen einer Doppelten Spalte aus einer Tabelle entfernen. Datenbankprogrammierung 2
V Delete From Tabelle, ohne vorher die Tabelle zu kennen Datenbankprogrammierung 5
MQue größte id in einer Tabelle abfragen Datenbankprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben