Установите значение возврата SP к переменной в сервере S'L

У меня есть sproc, который возвращает одну строку и столбец с текстом, мне нужно установить этот текст на переменную, что-то вроде:

declare @bla varchar(100)
select @bla = sp_Name 9999, 99989999, 'A', 'S', null

, но, конечно, этот код не работает ...

спасибо!

Ответ на: "Установите значение возврата SP к переменной в сервере S'L"

Количество ответов:3

Если сохраненная процедура возвращает одно значение, можно определить один из параметров на хранимой процедуре, чтобы быть переменной OUTPUT, а затем сохраненная процедура установит значение параметра "--15-" А затем, вы получите выходное значение следующим образом

DECLARE @OUT VARCHAR(100)
EXEC sp_name 1, @Out OUTPUT
PRINT @Out

Если вы не можете изменить сохраненную процедуру, другим решением было бы определить временную таблицу, и вставить результаты в эту

DECLARE @Output VARCHAR(100)

CREATE TABLE #tmpTable
(
    OutputValue VARCHAR(100)
)
INSERT INTO #tmpTable (OutputValue)
EXEC dbo.sp_name 9999, 99989999, 'A', 'S', null

SELECT
    @Output = OutputValue
FROM 
    #tmpTable

DROP TABLE #tmpTable
DECLARE
  @out INT

EXEC @out = sp_name 'param', 2, ...

Подробнее в Т-СЗЛ "EXECUTE" help (Help is from MSSQL 2008 but this works in 2000 too) (Помощь от MSS'L 2008, но это работает в 2000 году тоже)