Tischzebra
Newbie
- Registriert
- Juli 2012
- Beiträge
- 5
Hallo zusammen,
ich wollte zur Vereinfachung in einem SQL-Skript Variablen verwenden. Die wollte ich zunächst befüllen und anschließend in der "Hauptabfrage" verwenden. Also:
SELECT ... INTO @VARIABLE1 FROM ... WHERE ...;
SELECT ... INTO @VARIABLE2 FROM ... WHERE ...;
...
SELECT SUM(Feld1) - @VARIABLE1, @VARIABLE2, ...;
Dabei sind an einigen Stellen die Variablen auch verschachtelt.
Das Problem: Irgendwie werden die Variablen nicht richtig übernommen. Wenn ich z.B. direkt nach der "Definition" von @VARIABLE2 ein "SELECT @VARIABLE2;" einbaue, kommt dort ein anderer Wert heraus, als in der letzten, zusammenfassenden Abfrage - obwohl dort ja auch nur ein "SELECT @VARIABLE2, ...;" steht und @VARIABLE2 dazwischen nicht mehr verändert wird.
Muß ich die Variablen erst deklarieren oder am Ende wieder löschen oder funktioniert das gar nicht so, wie ich es mir vorstelle?
ich wollte zur Vereinfachung in einem SQL-Skript Variablen verwenden. Die wollte ich zunächst befüllen und anschließend in der "Hauptabfrage" verwenden. Also:
SELECT ... INTO @VARIABLE1 FROM ... WHERE ...;
SELECT ... INTO @VARIABLE2 FROM ... WHERE ...;
...
SELECT SUM(Feld1) - @VARIABLE1, @VARIABLE2, ...;
Dabei sind an einigen Stellen die Variablen auch verschachtelt.
Das Problem: Irgendwie werden die Variablen nicht richtig übernommen. Wenn ich z.B. direkt nach der "Definition" von @VARIABLE2 ein "SELECT @VARIABLE2;" einbaue, kommt dort ein anderer Wert heraus, als in der letzten, zusammenfassenden Abfrage - obwohl dort ja auch nur ein "SELECT @VARIABLE2, ...;" steht und @VARIABLE2 dazwischen nicht mehr verändert wird.
Muß ich die Variablen erst deklarieren oder am Ende wieder löschen oder funktioniert das gar nicht so, wie ich es mir vorstelle?