return 是什么作用?

cysccnu 2008-03-07 02:46:44
一段存储过程语句,不理解的是return 1,return 2,return 3在语句中有什么作用啊


if(select 是否借出 from Books where 图书编号=@BookID)=1
begin
print'图书已借出,不能借'
return 1
end

if(@BorrowNum>=@BorrowDureNum)
begin
print'借书数量已满,不能再借'
return 2
end

if exists (select * from Borrow where 读者编号=@ReaderID and
datediff(day,应还日期,getdate())>0)
begin
print'有过期未还图书,不能借'
return 3
end
...全文
75 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ojuju10 2008-03-07
  • 打赏
  • 举报
回复
终止执行return之后的语句
dgm8 2008-03-07
  • 打赏
  • 举报
回复
return 终止执行return之后的所有语句,并状态返回值
kk19840210 2008-03-07
  • 打赏
  • 举报
回复
从查询或过程中无条件退出。RETURN 的执行是即时且完全的,可在任何时候用于从过程、批处理或语句块中退出。RETURN 之后的语句是不执行的。

如果用于存储过程,RETURN 不能返回空值。如果某个过程试图返回空值(例如,使用 RETURN @status,而 @status 为 NULL),则将生成警告消息并返回 0 值。

USE AdventureWorks;
GO
CREATE PROCEDURE checkstate @param varchar(11)
AS
IF (SELECT StateProvince FROM Person.vAdditionalContactInfo WHERE ContactID = @param) = 'WA'
RETURN 1
ELSE
RETURN 2;
GO


DECLARE @return_status int;
EXEC @return_status = checkstate '2';
SELECT 'Return Status' = @return_status;
GO
-狙击手- 2008-03-07
  • 打赏
  • 举报
回复
根据不同返回值判断 过程 执行情况
wzy_love_sly 2008-03-07
  • 打赏
  • 举报
回复
起结束作用吧

34,590

社区成员

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

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