Oracle: Eigenartiger Fehler bei ALTER TABLE ADD CONSTRAINT

wpb

Erfahrenes Mitglied
Hi,

Vielleicht kann mir ja jemand helfen: Beim Hinzufügen eines Constraint zu einer - erfolgreich - angelegten Tabelle kommt ein eigenartiger Fehler:

> CREATE TABLE Fahrer (
svnr NUMERIC(10),
vname VARCHAR2(255) NOT NULL,
nname VARCHAR2(255) NOT NULL,
gehalt NUMERIC(8,2) NOT NULL,
vertretung NUMERIC(10) NOT NULL,
PRIMARY KEY(svnr)
); 2 3 4 5 6 7 8

Table created.

> ALTER TABLE Fahrer add constraint vertretung_fk FOREIGN KEY(vertretung) REFERENCES(Fahrer.svnr) ON UPDATE CASCADE ON DELETE SET NULL DEFERRABLE INITIALLY DEFERRED;
*
ERROR at line 1:
ORA-00903: invalid table name

Der Stern ist dabei unter Fahrer.svnr, also unter der Tabelle, die ich eben angelegt habe. Irgendwie kann mir Google nicht weiterhelfen und aus der (miesen) Dokumentation werd ich auch nicht schlau. Würd mich freuen wenn mir jemand einen Tipp geben könnte..

Das installierte DBS: Oracle SQL*Plus: Release 10.1.0.3.0
 
ALTER TABLE Fahrer
add constraint vertretung_fk FOREIGN KEY Fahrer (vertretung)
REFERENCES Fahrer (svnr)
ON UPDATE CASCADE
ON DELETE SET NULL
DEFERRABLE INITIALLY DEFERRED;

Gehts so

greez
 
Danke für deine Antwort Andi. Leider erzeugt das wieder einen Fehler nach REFERENCES:

> ALTER TABLE Fahrer ADD CONSTRAINT vertretung_fk FOREIGN KEY Fahrer(vertretung) REFERENCES Fahrer(svnr) ON UPDATE CASCADE ON DELETE SET NULL DEFERRABLE INITIALLY DEFERRED;
*
ERROR at line 1:
ORA-00906: missing left parenthesis
 
Danke für deine Hilfe, ich bin jetzt drauf gekommen: oracle kann mit ON UPDATE ... nichts anfangen, es kennt nur ON DELETE ...
 
Zurück