1776: In der '%1!'-Tabelle, auf die verwiesen wird, befinden sich keine primären
Fehlermeldung:
Meldung 1776, Ebene 16, Status 0, Zeile 1
In der '%1!'-Tabelle, auf die verwiesen wird, befinden sich keine primären oder Kandidatenschlüssel, die mit der verweisenden Spaltenliste im '%2!'-Fremdschlüssel übereinstimmen.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht für eine Tabelle eine FOREIGN KEY Einschränkung zu erstellen, die über keinen PRIMARY KEY oder Kandidatenschlüssel verfügt.
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 Tabelle, für die eine FOREIGN KEY Einschränkung erstellt werden soll, muss über eine PRIMARY KEY Einschränkung verfügen, oder mindestens einen Kandidatenschlüssel beinhalten.
Versionen:
Alle Versionen von SQL Server.
Beispiele:
USE tempdb;
GO
IF OBJECT_ID('tempdb..t') > 0
DROP TABLE t
GO
CREATE TABLE t
(
c1 INT
CONSTRAINT FK_t_t1_c1 FOREIGN KEY REFERENCES t(c1)
)
GO
Anmerkungen:
Im obigen Beispiel wird versucht, eine FOREIGN KEY Einschränkung für die Tabelle t mit der Tabelle t zu erstellen. Da für die Tabelle weder ein Primärschlüssel, noch ein Kandidatenschlüssel vorliegt, wird der Fehler ausgelöst.