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?
2 svar · 234 visningar · startad av Nöff
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?
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 :)
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