Von Sybase zu MS SQL: Foreign Keys

Gordon

Neuer Benutzer
Beiträge
1
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:


Code:
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 ...

Code:
alter tableTabelle1
  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
 
Werbung:

ukulele

Datenbank-Guru
Beiträge
4.702
Nun, es ist vermutlich nicht der erste Foreign Key Constraint in der Datenbank und der Server erkennt (vermute ich jetzt mal) eine problematische Kettenreaktion. Dazu müsste man sich jetzt aber alle Tabellen und Constraints angucken um zu bestimmen, wo das auftritt. Problematisch wäre z.B. wenn ein Datensatz x in Tabelle1 gelöscht wird der auf Datensatz y in Tabelle2 verweisst. Dann wird dieser ebenfalls gelöscht aber möglicherweise verweist er wieder auf Datensatz x, eine Art Zirkelbezug wie in Excel. Bist du dir sicher das Cascade notwendig ist und wie oft kommt Cascade in deinen Constraints vor?
 
Oben