213: Spaltenname oder Anzahl der bereitgestellten Werte entspricht nicht der Tabellendefinition
Fehlermeldung:
Meldung 213, Ebene 16, Status 1, Zeile 8
INSERT-Fehler: Spaltenname oder Anzahl der bereitgestellten Werte entspricht nicht der Tabellendefinition.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint, wenn bei einer INSERT Operation entweder bei verwendeten Spaltenname oder die Anzahl der bereitgestellten Werte nicht der Definition der Basistabelle entspricht.
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 verwendeten Spaltennamen müssen denen entsprechen, die in der Tabelle definiert sind und die Anzahl der bereitgestellten Werte muß mit der in der Basistabelle erwarteten übereinstimmen.
Versionen:
Alle Versionen von SQL Server.
Beispiele:
CREATE TABLE #t
(
c1 INT
, c2 INT
, c3 AS c1 * c2
)
INSERT INTO #t SELECT 1, 2, 3
UNION ALL SELECT 2, 4, 6
SELECT *
FROM #t
DROP TABLE #t
Anmerkungen:
Im obigen Beispiel wird die Tabelle #t mit drei Spalten c1, c2, c3 erstellt. Die Spalte c3 ist eine berechnete Spalte, deren Wert sich aus der Multiplikation von c1 * c2 ergibt. Für berechnete Spalten brauchne und dürfen keine Werte im INSERT Statement angegeben werden. Da wir versuchen, einen Wert explizit in dieser Spalte zu speichern, wird der Fehler ausgelöst.