Hallo Ich entwickle eine Datenbank in Oracle SQL Dev, das versucht, Foriegn Schlüssel aus einer anderen Tabelle zugreifen. Ich arbeite derzeit an der ItemOrdered Tabelle, die ich habe erstellt mit folgenden die AnweisungVerletzte - übergeordnete Schlüssel nicht gefunden 02291. 00000 - "Integritätsbedingung
CREATE TABLE ItemOrdered(OrderID varchar2(9) REFERENCES Ords(OrderID),
BeltID varchar2(9) REFERENCES BeltID(BeltID),
Quantity varchar(4) NOT NULL,
PRIMARY KEY(OrderID, BeltID))
CREATE Wie man sehen kann ich folgendes foriegn Tasten Ords und BeltID haben.
Jetzt, wenn ich versuche, die folgende Anweisung
INSERT INTO ItemOrdered VALUES(401565981,234489212,'2')
laufen
Es gibt mir die Fehler folgenden
verletzt - übergeordnete Schlüssel nicht gefunden 02291. 00000 - "Integritätsbedingung (% s% s.) Verletzt - übergeordnete Schlüssel nicht gefunden"
I zur Verfügung gestellt habe its my Ords CREATE-Anweisung, wenn
benötigtCREATE TABLE Ords(OrderID varchar2(9) PRIMARY KEY,
CustomerID varchar(9) REFERENCES Customers(CustomerID),
Expected_Delivery_Date date DEFAULT sysdate NOT NULL,
Actual_Delivery_Date date DEFAULT sysdate NOT NULL,
Payment_Due_Date date DEFAULT sysdate NOT NULL,
Order_Date date DEFAULT sysdate NOT NULL, Price Varchar(10),
Order_Placed varchar2(1) CONSTRAINT OrderPlaced
CHECK(Order_Placed IN('Y','N')) NOT NULL,
Order_Confirmed varchar2(1)
CONSTRAINT Order_Confirmed CHECK(Order_Confirmed IN('Y','N')) NOT NULL,
Order_Completed varchar2(1) CONSTRAINT Order_Completed
CHECK(Order_Completed IN('Y','N')) NOT NULL)
Und ich habe auch meine vorgesehen BeltID Anweisung CREATE
CREATE TABLE BeltID(BeltID varchar2(9) PRIMARY KEY,
BeltLengthID varchar2(9) REFERENCES BeltLength(BeltLengthID),
ColourID varchar2(9) REFERENCES Colour(ColourID),
DesignID varchar2(9) REFERENCES Design(DesignID),ComponentID varchar2(9) REFERENCES Component(ComponentID))
Ich verstehe nicht ganz, warum ich diesen Fehler bekomme. Gibt es eine klare Erklärung warum?
Hier ist der http-Link von dem, was ich versuche zu tun. link text
Bitte geben Sie Ihre Frage ein. Die SQL-Abfragen sind sehr lang - teilen Sie sie in mehr Zeilen. –