Лично я бы использовал выходные переменные
CREATE PROCEDURE proc_Get_Frame_CourseNum
@temp varchar(20),
@outValue varchar(50) OUTPUT
AS
BEGIN
--do stuff
--before you leave the method or do your final SELECT
SET @outValue = 'whatever your result is'
--more stuff
END
Тогда в вашем коде вы просто идете:
DECLARE @outValue VARCHAR(20)
-- rest of your code
EXEC [proc_Get_Frame_CourseNum] @temp, @outValue OUT
SET @result = @result + @outValue
В качестве альтернативы, вы можете просто записать результаты SP в временную таблицу, а затем прочитать ее в вашей переменной @Result.