SQL Server ストアド プロシージャはテーブルを返します 質問する

SQL Server ストアド プロシージャはテーブルを返します 質問する

2 つのパラメータを受け取るストアド プロシージャがあります。 Server Management Studio で正常に実行できます。期待どおりの結果が表示されます。ただし、戻り値も返されます。

この行が追加されました。

 SELECT 'Return Value' = @return_value

MATLAB からこのストアド プロシージャを呼び出しており、返されるのは true または false のみであるため、ストアド プロシージャでは戻り値ではなく結果に表示されるテーブルを返すようにしたいと思います。

ストアド プロシージャで何を返すかを指定する必要がありますか? その場合、4 つの列 (varchar(10)、float、float、float) のテーブルをどのように指定すればよいですか?

ベストアンサー1

プロシージャはテーブルをそのまま返すことはできません。ただし、次のようにプロシージャ内のテーブルから選択し、それをテーブル (またはテーブル変数) に送ることができます。

create procedure p_x
as
begin
declare @t table(col1 varchar(10), col2 float, col3 float, col4 float)
insert @t values('a', 1,1,1)
insert @t values('b', 2,2,2)

select * from @t
end
go

declare @t table(col1 varchar(10), col2 float, col3 float, col4 float)
insert @t
exec p_x

select * from @t

おすすめ記事