Ich habe eine Tabelle unten Befehl erstellt mit:Drop Foreign Key ohne den Namen der Einschränkung zu kennen?
create table Table1(
Id int Not Null
Foreign key
references Table2(Id)
on delete cascade
on update cascade,
UserName nvarchar(150),
TimeInSeconds int Not Null
primary key(Id,TimeInSeconds)
);
Aber jetzt will ich den Fremdschlüssel fallen zu lassen. Wie ich Constraintname gegeben haben kann ich nicht verwenden:
Alter table <tablename>
drop foreign key <foreign key name>
Gibt es eine Möglichkeit? Bitte helfen.
+1. Schnelle Zeichnung. Ich wollte: Wählen Sie * aus syscontraints wo xtype = 'F' und Name wie '% table1%' –
Mit Ausnahme, was passiert, wenn Sie dies in einem Skript für mehrere Datenbanken, die das gleiche Schema daher den Namen von haben sollte Die Einschränkung ist möglicherweise bei jeder Instanz der Datenbank unterschiedlich? In diesem Fall wird das nicht funktionieren. – Peter
@Peter, idealerweise hätten Sie Constraints benannt, aber wenn Sie nicht, können Sie immer noch die Namen zur Skriptlaufzeit bekommen. Sehe kein Problem. –