webForumDet fria alternativet

2 värden i variablar

2 svar · 234 visningar · startad av Nöff

NöffMedlem sedan nov. 2003569 inlägg
#1

hej

DECLARE ID int
DECLARE namn char(10)

SELECT TOP 1 ID,namn FROM tabellen

Kan jag få ID och namn från resultsetet in i variablarna utan att använda CURSORS?

@ndersMedlem sedan juni 200032 969 inlägg
#2

Jajemen, det här borde funka:

DECLARE @ID int
DECLARE @namn char(10)

SELECT TOP 1 @ID=ID, @namn=namn FROM tabellen ORDER BY foo
SELECT @ID AS ID, @namn AS namn

Men, borde du inte använda varchar istället för char?

mvh :)

NöffMedlem sedan nov. 2003569 inlägg
#3

Gött. För att detta är verkligen ett dödligt bra sätt att göra extremt snabba querys. För att man kan vidareutveckla den här till att innefatta flera resultset baserat på tidigare SELECT resultset sisåhär ungefär:

DECLARE @ID int
DECLARE @namn char(10)

SELECT TOP 1 @ID=ID, @namn=namn FROM tabellen ORDER BY foo
SELECT @ID AS ID, @namn AS namn

SELECT * FROM order WHERE kundID=@ID

SELECT * FROM klagomal WHERE kundID=@ID

Den här SQL:en returnerar 3 batchar direkt baserat på den första queryn. För att om man inte hade använt SQL variablar hade man ju fått först returnera kundID:et till applikationen och sen göra 2 SELECT med hjälp av det returnerade kundID:et, och det är ju inge kul :bire

127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)