141: Eine SELECT-Anweisung, die einer Variablen einen Wert zuweist
Fehlermeldung:
Meldung 141, Ebene 15, Status 1, Zeile n
Eine SELECT-Anweisung, die einer Variablen einen Wert zuweist, darf nicht mit Datenabrufvorgängen kombiniert werden.
Ebene:
15.
Beschreibung:
Diese Fehlermeldung taucht auf, in einem SELECT Statement versucht wird, die Zuweisung eines Wertes zu einer Variablen mit einer normalen Datenrückgabe zu kombinieren.
Auswirkungen:
Das SQL Statement kann nicht geparst werden. Die weitere Ausführung wird abgebrochen.
Behebung:
Fehler der Ebene 15 sind Fehler, die vom Anwender hervorgerufen werden. Sie können und müssen vom Anwender korrigiert werden. SQL Server erlaubt die Zuweisung mehrerer Werte an Variablen im SELECT Statement. Entweder weist man alle benötigten Spaltenwerte Variablen zu und verwendet die Variablen weiter oder man verzichtet auf die Zuweisung an Variablen und gibt nur die Daten zurück. Eine Kombination ist nicht zulässig.
Versionen:
Alle Versionen von SQL Server
Beispiel(e):
DECLARE @orderID INT
SET @orderID = 10289
SELECT @orderID = OrderID, *
FROM Northwind.dbo.Orders
WHERE OrderID = 10289
Anmerkungen:
Im obigen Beispiel wird versucht, der Variablen @orderID per SELECT den Wert der Spalte OrderID zuzuweisen. Gleichzeitig aber soll das SELECT Statement auch alle Spalten für OrderID = 10289 zurückgeben. Dies löst den Fehler aus.