У меня есть оператор SQL, который должен добавить мне некоторые ограничения. В этом утверждении я хочу установить для двух ограничений два условия ссылочной целостности.
Вот мое утверждение:
ALTER TABLE Vertraege
ADD CONSTRAINT FK_Kunde_Vertraege FOREIGN KEY(K_ID)
REFERENCES Kunde(K_ID),
CONSTRAINT FK_Standort_Vertraege FOREIGN KEY(S_ID)
REFERENCES Standort(S_ID) ON UPDATE CASCADE ON DELETE CASCADE,
CONSTRAINT FK_Mitarbeiter_Vertraege FOREIGN KEY(M_ID)
REFERENCES Mitarbeiter(M_ID) ON UPDATE CASCADE ON DELETE CASCADE,
CONSTRAINT FK_Dienstleistung_Vertraege FOREIGN KEY(D_ID)
REFERENCES Dienstleistung(D_ID),
CONSTRAINT FK_Compliance_Vertraege FOREIGN KEY(C_ID)
REFERENCES Compliance(C_ID);
Так что проблема в том, что я получаю ошибку из-за этого.
Notification 1785, level 16, status 0, line 28
Introducing FOREIGN KEY constraint 'FK_Mitarbeiter_Vertraege' on table 'vertreage' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.
Notification 1750, level 16, status 1, line 28
Could not create constraint or index. See previous errors.
Можно ли установить несколько условий ссылочной целостности, а если нет, как я могу создать несколько из них в SQL? Что-то вроде ALTER CONSTRAINT
...
EDIT
Брайан попросил об этом. На моем столе у меня есть следующие ограничения. Странно то, что они работают
ALTER TABLE Mitarbeiter
ADD CONSTRAINT FK_Adresse_Mitarbeiter FOREIGN KEY(AD_ID)
REFERENCES Adresse(AD_ID) ON UPDATE CASCADE,
CONSTRAINT FK_Standort_Mitarbeiter FOREIGN KEY(S_ID)
REFERENCES Standort(S_ID) ON UPDATE CASCADE,
CONSTRAINT FK_Abteilung_Mitarbeiter FOREIGN KEY(AB_ID)
REFERENCES Abteilung(AB_ID) ON UPDATE CASCADE;