SQL-tilldelning av variabel med select utan resultat
När man använder en selectfråga för att sätta värden på variabler så finns en fallgrop man får se upp med!
När frågan inte returnerar nån rad så behåller variabeln sitt värde och sätts inte till null vilket man skulle kunna tro utan den ignorerar helt resultatet och gör ingen tilldelning alls.
Exempel 1:
@match innehåller null som förväntat eftersom det inte finns några såna rader.
Exempel 2:
@match innehåller 2 och och inte null, d.v.s. den tilldelas inte alls.
Utan stöd av den utmärkta debugfunktionen som finns i SQL Server 2008 så hade jag nog felsökt detta fenomen flera timmar!
Tommy Söderström
2009-06-25