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.

Noch kein Feedback
Einen Kommentar hinterlassen

Ihre E-Mail-Adresse wird nicht auf dieser Seite angezeigt.
(Zeilenumbrüche werden zu <br />)
(For my next comment on this site)
(Allow users to contact me through a message form -- Your email will not be revealed!)
Dies ist ein Captcha Bild. Es wird benutzt, um Massenzugriffe von Robotern zu verhindern.
Bitte gib die Zeichen des obigen Bildes ein. (Groß/Kleinschreibung ist wichtig)