sqlserver 带返回值的存储过程

时间:2023-03-09 07:12:30
sqlserver 带返回值的存储过程
 create proc test
@result nvarchar(25) output
as
begin
select @result = 'haha'
return 1;
end
go declare @result varchar(25),
@count int
exec @count = test @result output
print @result --查询输出参数
print @count  --查询返回值

执行上面一段代码, 可以得到 @result = 'haha', @count = 1

存过过程中的return语句只能返回int类型值, 而输出类型可以返回任意你想要的类型

**用SQL语句获得一个存储过程返回的表

create proc [dbo].[test1]
  @id int
as
begin
select 1 as id,'abc' as name union all
select @id as id,'zzz' as name
end
GO
declare @table table(id int,name varchar(50))--定义表变量来存放存储过程返回的内容
insert into @table exec test1 2--将存储过程执行的结果放入表变量中
select * from @table --查看表变量中的结果