इसके बजाय:
SET @S=EXEC spGetNthNo @a,@d,@n
आपको चाहिए:
EXEC @S = spGetNthNo @a,@d,@n
और फिर प्रक्रिया के भीतर, आपको कुछ ऐसा चाहिए:
RETURN 100
या:
RETURN @x
प्रक्रिया निष्पादित होने के बाद @S के लिए आप जो मान चाहते हैं, उसके लिए।
आप आउटपुट पैरामीटर का भी उपयोग कर सकते हैं। संयुक्त उदाहरण:
IF OBJECT_ID('tempdb..#example') IS NOT NULL DROP PROCEDURE #example
GO
CREATE PROCEDURE #example
@output_param INT OUTPUT
AS BEGIN
SET @output_param = 100
RETURN 200
END
GO
DECLARE @return INT, @param INT
EXEC @return = #example @output_param = @param OUTPUT
SELECT @return as [return value], @param as [output parameter]