121: Die Auswahlliste für die INSERT-Anweisung enthält mehr Elemente als die Einfügeliste
Fehlermeldung:
Meldung 121, Ebene 15, Status 1, Zeile n
Die Auswahlliste für die INSERT-Anweisung enthält mehr Elemente als die Einfügeliste. Die Anzahl von SELECT-Werten und die Anzahl von INSERT-Spalten müssen übereinstimmen.
Ebene:
15.
Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht per INSERT eine Zeile in eine Tabelle einzufügen und weniger Werte in der SELECT Liste angegeben hat als Spalten im INSERT Statement referenziert werden.
Auswirkungen:
Das INSERT Statement kann nicht committed werden und wird zurückgerollt.
Behebung:
Fehler der Ebene 15 sind Fehler, die vom Anwender hervorgerufen werden. Sie können und müssen vom Anwender korrigiert werden.
Versionen:
Alle Versionen von SQL Server
Beispiel(e):
USE tempDB
GO
CREATE TABLE #t
(
c1 INT
, c2 INT
)
INSERT INTO #t (c1, c2) SELECT 1
Anmerkungen:
Ein INSERT Statement erlaubt entweder die Angabe der Werte per VALUES Klausel oder aber die Angabe der Werte per SELECT Liste. Wie man im obigen Beispiel erkennen kann, enthält die Tabelle #t die Spalte c1 und c2. Im INSERT Statement, welches auf die beiden Spalten c1 und c2 abzielt wird jedoch in der SELECT Liste nur 1 Wert angegeben. Um dieses INSERT Statement erfolgreich durchzuführen, muß man entweder die Spaltenliste oder die SELECT Liste korrigieren. Beide müssen exakt die gleiche Anzahl an Argumenten aufweisen.