テキストを含む単一の行と列を返すsprocがあります。このテキストを次のような変数に設定する必要があります。
declare @bla varchar(100)
select @bla = sp_Name 9999, 99989999, 'A', 'S', null
もちろん、このコードは機能しません...
ありがとう!
ストアドプロシージャを変更できない場合、別の解決策は一時テーブルを定義し、その中に結果を挿入することです。
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
ストアドプロシージャが単一の値を返す場合、ストアドプロシージャのパラメータの1つをOUTPUT変数として定義すると、ストアドプロシージャはパラメータの値を設定します
CREATE PROCEDURE dbo.sp_Name
@In INT,
@Out VARCHAR(100) OUTPUT
AS
BEGIN
SELECT @Out = 'Test'
END
GO
そして、あなたは次のように出力値を取得します
DECLARE @OUT VARCHAR(100)
EXEC sp_name 1, @Out OUTPUT
PRINT @Out
DECLARE
@out INT
EXEC @out = sp_name 'param', 2, ...
T-SQL "EXECUTE"の詳細 help (ヘルプはMSSQL 2008からですが、これは2000年にも機能します)