0

私はストアドプロシージャを持っています

create procedure p1
    @id  INT,
    @name varchar(20) OUTPUT
as
begin
    select @name = name 
    from table1 
    where id = @id;
end

それを実行すると、値として1行を取得するだけです。

ただし、出力パラメーターを次のように使用しない場合

create procedure p1
   @id  INT
as
begin
    select name from table1 where id = @id;
end

列全体を取得します。注: 私のテーブルでは、1 つの ID が複数の値を持つことができるため、理想的には、OUTPUTパラメーターを使用しても > 1 の値を返す必要があります。

OUTPUTパラメータを使用すると、なぜ 1 行しか取得できないのですか。

4

1 に答える 1