1. 存储过程没有返回值的情况(即存储过程语句中没有
return
之类的语句)
---------------------------------------------------------------------------------------------------------------------------------------------------
2. 获得存储过程的返回值--通过查询分析器获得
(1)不带任何参数的存储过程(存储过程语句中含有
return
)
---创建存储过程
CREATE PROCEDURE testReturn
AS
return
145
GO
---执行存储过程
DECLARE @RC
int
exec @RC=testReturn
select
@RC
---说明
查询结果为145
(2)带输入参数的存储过程(存储过程语句中含有
return
)
---创建存储过程
create procedure sp_add_table1
@in_name varchar(100),
@in_addr varchar(100),
@in_tel varchar(100)
as
if
(@in_name =
''
or @in_name
is
null
)
return
1
else
begin
insert
into
table1(name,addr,tel) values(@in_name,@in_addr,@in_tel)
return
0
end
---执行存储过程
<1>执行下列,返回1
declare @count
int
exec @count = sp_add_table1
''
,
'中三路'
,
'123456'
select
@count
<2>执行下列,返回0
declare @count
int
exec @count = sp_add_table1
''
,
'123456'
select
@count
---说明
查询结果不是0就是1
例子A:
---创建存储过程
create procedure sp_output
@output
int
output
as
set
@output = 121
return
1
---执行存储过程
<1>执行下列,返回121
declare @
out
int
exec sp_output @
out
output
select
@
out
<2>执行下列,返回1
declare @
out
int
declare @count
int
exec @count = sp_output @
out
output
select
@count
---说明
例子B:
---创建存储过程
create procedure sp_output
@output
int
output
as
set
@output = 121
---执行存储过程
<1>执行下列,返回121
declare @
out
int
exec sp_output @
out
output
select
@
out
<2>执行下列,返回0
declare @
out
int
declare @count
int
exec @count = sp_output @
out
output
select
@count
---说明
总结:
(1)存储过程共分为3类:
(2)含有
return
的存储过程其返回值为
return
返回的那个值
(3)没有
return
的存储过程,不论执行结果有无记录集,其返回值是0
---------------------------------------------------------------------------------------------------------------------------------------------------
3.获得存储过程的返回值--通过程序获得
---------------------------------------------------------------------------------------------------------------------------------------------------
cmdParms[cmdParms.Length - 1].Direction = ParameterDirection.ReturnValue;或者
cmdParms[cmdParms.Length - 1].Direction = ParameterDirection.Output或者
cmdParms[cmdParms.Length - 1].Direction = ParameterDirection.Input;
得到返回值
object
bj = cmdParms[cmdParms.Length - 1].Value;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。