关于return的几个问题?

PI_2002 2002-07-18 11:23:45
我想在存储过程中使用return来返回一个值,但概念不清楚,而且书上讲得也不详细,特请教如下几个问题:
我的存储过程:


use bjdb
if exists (select name from sysobjects where name = 'p_inst_tzhxx' and type ='P')
drop procedure p_inst_tzhxx
go
create procedure p_inst_tzhxx
@m_dwmc varchar(50) = null,
@m_lxdh char(13) = null,
@m_dwdz varchar(50) = null,
@m_xq char(12) = null,
@m_lb char(30) = null
as
insert into T_ZHXX
(dwmc,lxdh,dwdz,xq,lb)
values (@m_dwmc,@m_lxdh,@m_dwdz,@m_xq,@m_lb)
return
go

return是这样用的么?他返回的是什么类型的值?如果insert into语句执行不成功,我是如何判断?做相应的出错处理,并返回一个失败标志给前台的调用程序?


...全文
40 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
leimin 2002-07-19
  • 打赏
  • 举报
回复
@@error是全局变量,你可以自己定义2个INT型的变量,@rc,@lerror
use bjdb
if exists (select name from sysobjects where name = 'p_inst_tzhxx' and type ='P')
drop procedure p_inst_tzhxx
go
create procedure p_inst_tzhxx
@m_dwmc varchar(50) = null,
@m_lxdh char(13) = null,
@m_dwdz varchar(50) = null,
@m_xq char(12) = null,
@m_lb char(30) = null
as
declare @rc int,@lerror int
select @rc=0
select @lerror=0
if @rc=0
begin
insert into T_ZHXX
(dwmc,lxdh,dwdz,xq,lb)
values (@m_dwmc,@m_lxdh,@m_dwdz,@m_xq,@m_lb)
select @lerror=@@error
if @lerror<>0
begin
select @rc=-1000
return @rc
end
end
go

CSDNM 2002-07-19
  • 打赏
  • 举报
回复
use bjdb
if exists (select name from sysobjects where name = 'p_inst_tzhxx' and type ='P')
drop procedure p_inst_tzhxx
go
create procedure p_inst_tzhxx
@m_dwmc varchar(50) = null,
@m_lxdh char(13) = null,
@m_dwdz varchar(50) = null,
@m_xq char(12) = null,
@m_lb char(30) = null
as
insert into T_ZHXX
(dwmc,lxdh,dwdz,xq,lb)
values (@m_dwmc,@m_lxdh,@m_dwdz,@m_xq,@m_lb)
return @@Error
go


返回错误代码,0表示成功

调用方法如 weixy() 所说
weixy 2002-07-18
  • 打赏
  • 举报
回复
这个RETURN 只是返回不往下执行。没有返回值。如果insert成不成功没有判断,可以加
if @@error <> 0
begin
RAISERROR (' err ', 16, 1)
return -1
end
return值可以在前台获取。
create procedure up_a
@id char(1) = null
as
If @id = '1'
return 1
else
return 0
go

declare @id int
select @id = up_a ('0')
print @id

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧