Tja, Testa med: Tack för svaret Andreas, löste det så här: EXEC sp invariabel1, invariabel2, invariabel3, utvariabel3 OUTPUT Man måste alltså skriva utryckligen att det är en OUTPUT trots att själva variabeln är dekl som en sådan tidigare i parent SPn? Ja, det betyder ju inte samma sak. Att en parameter i en procedur är deklarerad som OUTPUT innebär bara att SQL Server ska spotta ut info. När man anropar den och anger OUTPUT så säger man till att man vill ta emot info där.Exekvering av SP
En fråga:
Har en sp som returnerar ett värde via en deklarerad OUTPUT variabel. Om jag kallar denna SPn via en annan SP, hur gör jag för att fånga upp returvärdet
Just nu kör jag så här:
EXEC sp invariabel1, invariabel2, invariabel3, utvariabel3
Men när jag kollar utvariabel3 är den tom!? Det stämmer inte för printsatsen i sp skvallrar om att det finns ett returvärde.
Finns det andra sätt att fånga upp värden från en sp till en annan sp?Sv: Exekvering av SP
EXEC sp invariabel1, invariabel2, invariabel3, utvariabel3 OUTPUT
Eller:
EXEC sp invariabel1, invariabel2, invariabel3, OUTPUT utvariabel3
Kommer inte ihåg om det är för eller efter man skriver OUTPUT. Men om du inte har med det vid anropet kommer variabeln inte uppdateras.Sv: Exekvering av SP
EXEC @slaskvar = sp invariabel1, invariabel2, invariabel3
då får man RETURN värdet från sp i @slaskvar, smidigt, men ack så svårt när man itne vet hur ;o)Sv: Exekvering av SP
Den är korrekt.Sv: Exekvering av SP
Sv: Exekvering av SP