Dwa klucze obce do jednej relacji

0

Witam
Mam tabelę, w której posiadam dwa klucze obce do jednej relacji (nie oczekuje pytań czemu tak, a nie inaczej, po co dlaczego itp.). Zależy mi by ustawiały się one na NULL w przypadku aktualizacji oraz usunięcia. Niestety tylko jeden z tych kluczy obcych mogę ustawić jako SET NULL, gdy chce zrobić tak z drugim pojawia się poniższy błąd. Pytanie czemu tak się dzieje.

(...) may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.

2

Dlatego, że MS SQL ma takie durne ograniczenie - od zawsze. Dozwolona jest tylko jedna ścieżka dojścia dla jednego pola z danej tabeli. Koniec.
Jeśli koniecznie chcesz to zrobić po stronie bazy danych, to tylko i wyłącznie przy pomocy wyzwalacza lub aktualizującej procedury składowanej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1