存储过程中的output输出参数及return返回值参数问题

一个存储过程可以有多个输出参数 但是只能有一个返回值

通过下面的例子说明一下:使用的是puls示例数据库

alter proc get_info
(
@outvalue int output,
@firstname nvarchar(200)='a'
)
as
begin
declare @sql nvarchar(max)
begin
if(@firstname is not null)
begin
set @sql='select * from authors'
exec sp_executesql @sql
set @outvalue=2
return 2222;
end
else
begin
set @sql= 'select * from authors where au_fname like''%'+@firstname+'%'''
exec sp_executesql @sql
set @outvalue=4
return 4444;
end
end
end

通过在ms sql 编辑器中查询:

declare @outvalue int--定义输出参数
declare @returns int--定义返回值
exec @returns=get_info @outvalue output,@firstname='a'
select '输出值'=@outvalue
select '返回值'=@returns


得到下面结果:

OK了。

posted on 2011-11-08 23:57  kobeycs  阅读(364)  评论(0编辑  收藏  举报

导航