1788: Der kaskadierende '%1!'-Fremdschlüssel kann nicht erstellt werden
Fehlermeldung:
Meldung 1788, Ebene 16, Status 0, Zeile 1
Der kaskadierende '%1!'-Fremdschlüssel kann nicht erstellt werden, wenn die verweisende '%2!.%3!'-Spalte eine Identitätsspalte ist.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht eine referentielle Integritätsbeziehung zu erstellen, bei der die verweisende Spalte eine Spalte mit der IDENTITY Eigenschaft ist.
Auswirkungen:
Das SQL Statement kann zwar geparst werden, jedoch zur Laufzeit wird der Fehler ausgelöst.
Behebung:
Fehler der Ebene 16 sind Fehler, die vom Anwender hervorgerufen werden. Sie können und müssen vom Anwender korrigiert werden. Das Statement kann so nicht ausgeführt werden. Die verweisende Spalte darf nicht die IDENTITY Eigenschaft besitzen.
Versionen:
Alle Versionen von SQL Server.
Beispiele:
USE tempdb;
IF OBJECT_ID('t', 'table') > 0
DROP TABLE t
GO
IF OBJECT_ID('t1', 'table') > 0
DROP TABLE t1
GO
CREATE TABLE t
(
c1 INT PRIMARY KEY
)
GO
CREATE TABLE t1
(
c2 INT IDENTITY
CONSTRAINT FK_t1_t
FOREIGN KEY REFERENCES t(c1)
ON DELETE CASCADE
)
Anmerkungen:
Im obigen Beispiel wird versucht eine Beziehung zwischen den Tabellen t und t1 herzustellen. Da die verweisende Spalte c2 die IDENTITY Eigenschaft besitzt, wird der Fehler ausgelöst.