MSSQL 存储过程中 return 返回值


return 返回值注意事项:
1 返回值必须为int类型
2 系统默认返回值会根据当前的操作成功状态返回不同的值,具体含义如下所示:
0:sql语句被执行成功
-1:对象丢失
-2:数据类型错误
-3:过程处理中发生死锁
-4:权限发生异常
-5:过程中存在语法错误
-6:用户错误
-7:资源异常
-8:非致命内部错误
-9:系统限制
-10:发生非致命的内部不稳定性
-11:发生致命的内部不稳定性
-12:表或索引已破坏
-13:数据库已损坏
-14:硬盘错误
3 在存储过程中,我们可以手动定义return值


例一:
不显式指定返回值的数值时,系统会根据存储过程的执行状态,自动return相关值

/*创建存储过程,不指定return值*/
create proc pr_A
@a varchar(20)
as 
begin

declare @b int  
set @b =@a 
end
go 

-----调用存储过程 产生赋值错误,观察return返回值 -6 
declare @c int 
exec @c = pr_A '684655665465465465'  
select @c as [returnValue]
go 
 
drop proc pr_A 
go 



例二:
显式指定返回值的数值时,系统会根据存储过程的执行状态,return相关值

 /*创建存储过程,指定return值*/
create proc pr_A
@a varchar(20)
as 
begin

declare @b int  
set @b =@a 
return 900
end
go 

-----调用存储过程 产生赋值错误,观察return返回值  900
declare @c int 
exec @c = pr_A '684655665465465465'  
select @c as [returnValue]
go 
 
drop proc pr_A 
go