2017-10-02 4 views
0
/* DROP TABLE STATEMENTS*/ 
DROP TABLE BUILDING CASCADE CONSTRAINTS PURGE; 
DROP TABLE ROOM CASCADE CONSTRAINTS PURGE; 
DROP TABLE CONFERENCESESSION CASCADE CONSTRAINTS PURGE; 
DROP TABLE SPEAKER CASCADE CONSTRAINTS PURGE; 

/* CREATE TABLE STATEMENTS*/ 
CREATE TABLE BUILDING(
BUILDINGNO CHAR(2), 
BUILDINGWING VARCHAR2(15), 
BUILDINGLANE VARCHAR2(15), 
CONSTRAINT BUILDING_PK PRIMARY KEY(BUILDINGNO)); 

CREATE TABLE ROOM(
BUILDINGNO CHAR(2), 
ROOMNO CHAR(2), 
ROOMCAPACITY NUMBER(3), 
CONSTRAINT ROOM_PK PRIMARY KEY(BUILDINGNO, ROOMNO), 
CONSTRAINT ROOM_FK FOREIGN KEY(BUILDINGNO) REFERENCES BUILDING(BUILDINGNO)); 

CREATE TABLE SPEAKER(
SPEAKERID CHAR(2), 
SPEAKERNAME VARCHAR2(20), 
SPEAKERADDRESS VARCHAR2(50), 
SPEAKERPHONE CHAR(12), 
CONSTRAINT SPEAKER_PK PRIMARY KEY(SPEAKERID)); 

CREATE TABLE CONFERENCESESSION(
SESSIONID CHAR(4), 
BUILDINGNO CHAR(2), 
ROOMNO CHAR(2), 
SPEAKERID CHAR(2), 
SESSIONDATE DATE, 
SESSIONPRICE NUMBER(4, 2), 
CONSTRAINT CONFERENCE_PK PRIMARY KEY(SESSIONID), 
CONSTRAINT CONFERENCE_FK1 FOREIGN KEY(BUILDINGNO)REFERENCES BUILDING(BUILDINGNO), 
CONSTRAINT CONFERENCE_FK2 FOREIGN KEY(ROOMNO) REFERENCES ROOM(ROOMNO), 
CONSTRAINT CONFERENCE_FK3 FOREIGN KEY(SPEAKERID) REFERENCES SPEAKER(SPEAKERID)); 

Arbeits ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~verstehen nicht, warum meine SQL ist nicht

ich diese Fehlermeldung erhalten, wenn Sie den obigen Code ausgeführt wird:

Tabelle BUILDING gesunken.

Tabelle Zimmer fiel.

Fehler in Zeile beginnen: 4 in Befehl -
DROP TABLE CONFERENCESESSION CASCADE CONSTRAINTS PURGE
Fehlerbericht -
ORA-00942: Tabelle oder Sicht ist nicht vorhanden
00942. 00000 - „Tabelle oder Sicht nicht existieren“
* Ursache:
* Aktion:

Tabelle SPEAKER gesunken.

Tabelle BUILDING erstellt.

Tabelle ROOM erstellt.

Tabelle SPEAKER erstellt.

Fehler beginnend bei Zeile: 28 in command -
CREATE TABLE CONFERENCESESSION (
SESSIONID CHAR (4),
BUILDINGNO CHAR (2),
ROOMNO CHAR (2),
SPEAKERID CHAR (2) ,
SESSIONDATE DATE,
SESSIONPRICE NUMBER (4, 2),
CONSTRAINT CONFERENCE_PK PRIMARY KEY (SESSIONID),
CONSTRAINT CONFERENCE_FK1 FOREIGN KEY (BUILDINGNO) REFERENCES BUILDING (BUILDINGNO), 012. CONSTRAINT CONFERENCE_FK2 FOREIGN KEY (ROOMNO) LITERATUR ROOM (ROOMNO),
CONSTRAINT CONFERENCE_FK3 FOREIGN KEY (SPEAKERID) LITERATUR SPEAKER (SPEAKERID))

Fehlerbericht -
ORA-02270: keine passende einzigartigen oder Primärschlüssel für Diese Spaltenliste
02270. 00000 - "kein übereinstimmender eindeutiger oder primärer Schlüssel für diese Spaltenliste"
* Ursache: Eine REFERENCES-Klausel in einer CREATE/ALTER TABLE-Anweisung gibt eine Spaltenliste an, für die es keine übereinstimmende eindeutige gibt oder Primärschlüsseleinschränkung in der referenzierten Tabelle.
* Aktion: Hier finden Sie die richtigen Spaltennamen der Ansicht Katalog ALL_CONS_COLUMNS mit

Jede Hilfe?

Antwort

5

CONSTRAINT CONFERENCE_FK2 FOREIGN KEY(ROOMNO) REFERENCES ROOM(ROOMNO): Ein Fremdschlüssel muss den vollständigen Primärschlüssel (oder eindeutigen Schlüssel) einer anderen Tabelle referenzieren. Fügen Sie einfach buildingno hinzu:

CONSTRAINT CONFERENCE_FK2 FOREIGN KEY(BUILDINGNO, ROOMNO) REFERENCES ROOM(BUILDINGNO, ROOMNO) 
Verwandte Themen