sql存储过程语句中return

create procedure 借书
(@书号 char(10)=null, @借阅证号 char(10)=null)
as
if @书号 is null
begin
print '必须提供一个书号!'
return 13
end
if @借阅证号 is null
begin
print'必须提供一个借书证号!'
return 12
end
if (select 书号 from 图书清单 where 是否丢失='y')=@书号
begin
print'这本书已经丢失!'
return 119
end

if @借阅证号 in (select 借阅证号 from 借阅证明细表 where 是否注销='y')
begin
print'这个借阅证已经注销!'
return 110
end
if (select count(*) from 借阅清单 where 借阅证号=(select 借阅证号=@借阅证号))>=5/*检查这个借阅证是否借了5本书,如果借了5本则不能再借了*/
begin
print'这个借书证已经借了5本书,不能再借了!'
return 11
end
insert into 借阅清单(书号, 借阅证号)
values(@书号,@借阅证号)
select*from 借阅清单 where 书号=@书号
return 0
这里面有return 13 12 110 119 11
有什么不同吗?

返回的是一个代码,在调用这个过程的时候比较好处理。比如可以判断出如果返回的是13就表示书号为空。就像我们写程序的时候返回的值是一样的道理,没有什么特别意义,就是自定义的。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答