Sök på tekniken.nu

Om tekniken.nu

På tekniken.nu bloggar Iteams konsulter om det som ligger dem varmast om hjärtat - teknik.
www.iteam.se

Prenumerera på tekniken.nu

Bloggportalen.se
Bloggtoppen.se
Top Datorer bloggar
Web Analytics

Clicky

En självklarhet!
Teknikbloggen logotype

SQL-tilldelning av variabel med select utan resultat

2009-06-25 16:08 - Utvecklingstips av Tommy Söderström
Tommy Söderström
Tommy Söderström
Systemutvecklare
Iteam

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:

declare @match float
SELECT @match = mv_matchvalue FROM match_values WHERE 1=2
select @match

@match innehåller null som förväntat eftersom det inte finns några såna rader.

Exempel 2:

declare @match float
SET @match = 2
SELECT @match = mv_matchvalue FROM match_values WHERE 1=2
select @match

@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!

... och du vet väl att Iteam just nu söker duktiga medarbetare? Läs mer på iteam.se

Andra bloggar om:
Inga kommentarer

Kommentera

Namn

Email

URL

Kommentar

Skriv vad som står i bilden till höger