Benutzer mit den meisten Antworten
Sybase to MS SQL: Foreign Keys

Frage
-
Moin moin,
ich versuche gerade eine Sybase-Datenbank nach MS SQL zu portieren. Leider bekomme ich bei manchen Foreign Keys Probleme, wo ich mir leider derzeit nicht weiterhelfen kann. Und zwar habe ich z.B. folgenden Foreign Key in Sybase:
alter table Tabelle1 add foreign key "FK_Name" (Spalte1) references Tabelle1 (Spalte2) on update cascade on delete cascade;
Dieser obenstehe Foreign Key geht soweit. Wenn ich nun aber diesen in folgendes MS SQL-Statement umwandle ...
alter table Tabelle1
add constraint "FK_Name" foreign Key (Spalte1)
references Tabelle1 (Spalte2)
on update cascade
on delete cascade;
... bekomme ich folgende Fehlermeldung:
Introducing FOREIGN KEY constraint 'FK_Name' on table 'Tabelle1' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.
Kann mir vielleicht jemand das Problem erklären und auch vielleicht die Lösung dazu? Bin leider derzeit ziemlich ratlos.
Gruß und besten Dank im Voraus
Gordon
Antworten
-
Das heißt das du einen Zyklus in einem Graph von CASCADE-Anweisungen hast. D.h. Table A -> cascade delete -> Table B -> cascade delete -> Table A. So oder so ähnlich. Das ist nicht erlaubt.
Der einfachste Trick, da es sich eh nach Redesign anhört: Verzichte erstmal auf die CASCADEs ganz und pflege sie nur dort nach, wo sie wirklich gebraucht werden. Ggf. musst du auch mit Triggern arbeiten.
- Als Antwort markiert Raul TalmaciuMicrosoft contingent staff Donnerstag, 13. Dezember 2012 12:37
Alle Antworten
-
Das heißt das du einen Zyklus in einem Graph von CASCADE-Anweisungen hast. D.h. Table A -> cascade delete -> Table B -> cascade delete -> Table A. So oder so ähnlich. Das ist nicht erlaubt.
Der einfachste Trick, da es sich eh nach Redesign anhört: Verzichte erstmal auf die CASCADEs ganz und pflege sie nur dort nach, wo sie wirklich gebraucht werden. Ggf. musst du auch mit Triggern arbeiten.
- Als Antwort markiert Raul TalmaciuMicrosoft contingent staff Donnerstag, 13. Dezember 2012 12:37