547: Die %1!-Anweisung steht in Konflikt mit der %2!-Einschränkung "%3!"
Fehlermeldung:
Meldung 547, Ebene 16, Status 1, Zeile 6
Die %1!-Anweisung steht in Konflikt mit der %2!-Einschränkung "%3!". Der Konflikt trat in der "%4!"-Datenbank, Tabelle "%5!"%6!%7!%8! auf.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint, wenn versucht wird, per INSERT Statement Daten in eine Tabelle zu schreiben. Diese Daten jedoch mit einer für die Spalten dieser Tabelle erstellten Einschränkung in Konflikt stehen.
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. Die Werte, die per INSERT Statement eingefügt werden sollen, müssen überprüft werden, ob die Werte korrekt sind. Sind die Werte korrekt und sollen tatsächlich speicherbar sein, muß die betreffende Einschränkung modifiziert werden.
Versionen:
Alle Versionen von SQL Server.
Beispiele:
CREATE TABLE #t
(
c1 TINYINT DEFAULT 0
CONSTRAINT chk_me CHECK(c1 LIKE('[0-9]'))
)
INSERT INTO #t SELECT 255
DROP TABLE #t
Anmerkungen:
Im obigen Beispiel werden für die Spalte c1 der Tabelle #t zwei Einschränkungen erstellt: Eine DEFAULT Einschränkung und eine CHEKC Einschränkung. Die CHECK Einschränkung sagt aus, daß nur einstellige Zahlen zwischen 0 und 9 speicherbar sein sollen. Das INSERT Statement hingegen versucht den Wert 255 in der Spalte c1 zu speichern. Dies löst den Fehler aus.