• 全部
  • 基础类
  • 应用实例
  • 新技术前沿

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
...全文
47 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
起结束作用吧
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-03-07 02:46
社区公告
暂无公告