我有一个存储过程
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
我得到了整个专栏。注意:在我的表中,单个 id 可以有多个值,因此理想情况下,即使使用OUTPUT
参数,它也应该返回 > 1 个值。
为什么我在使用OUTPUT
参数时只得到 1 行。