Frage von tuyjoe, 32

SQL constraint lässt sich nicht löschen?

Hi,

Ich habe mit Oracle SQL eine Tabelle erzeugt:

create table players
        (name varchar(30),
         team_id integer references teams (id)
        );

Nun Will ich die Referenz bedingung wieder löschen. (Liege ich richtig das es sich hierbei um einen foreign key handelt?)

Mit

alter table players drop constraint team_id;

habe ich es versucht, bekomme aber den fehler

"Cannot drop constraint - nonexistent constraint"

Wie bekomme ich es denn gelöscht ? (tabelle teams existiert mit spalte id)

LG

Antwort
von tuyjoe, 14

Wenn ein constraint direkt anonym in dem create befehl erzeugt wird, muss man den constraint name über das Data-Dictionary abfragen.

SELECT * FROM user_constraints WHERE table_name = 'TABELLENNAME'

mit diesem constraint name lässt sich dann der foreign key löschen.

Gibt es eine Möglichkeit die abfrage des Constraints direkt in den alter table befehl zu codieren, damit der code verkürzt wird ?

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten