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就表示书号为空。就像我们写程序的时候返回的值是一样的道理,没有什么特别意义,就是自定义的。
温馨提示:内容为网友见解,仅供参考
无其他回答

sql 存储过程中return的使用方法?
RETURN 语句无条件终止查询、存储过程或批处理。存储过程或批处理中 RETURN 语句后面的语句都不执行。当在存储过程中使用 RETURN 语句时,此语句可以指定返回给调用应用程序、批处理或过程的整数值。如果 RETURN 未指定值,则存储过程返回 0。大多数存储过程按常规使用返回代码表示存储过程的成功或失败。没...

在sql Server中~如何利用RETURN返回存储过程的值~~~
delcare @ReturnValue int \/*(与存储过程return语句返回值的类型相同)*\/ exec @ReturnValue = StoredProc \/*StoredProc为一个存储过程*\/ 2.存储过程使用OUTPUT输出参数.此种情况下,直接使用OUTPUT输出参数即可:declare @id int set @id = 1 exec StoreProc ...

sql中 return 与output 的区别
不同点:1. output是定义变量是不是可以返回值 2. output没有return从查询或过程中无条件退出的工功 3. return返回值在函数和过程定义时不需要用output来定义

存储过程中不能有return语句
存储过程中不能有return语句的。根据查询相关公开信息,mysql的存储过程是不能使用return语句的,只有存储函数才有此功能,存储过程中不能用RETURN语句返回值,可使用OUT类别的参数返回值。

Postgres-存储过程 return 详解
  return;END;$$LANGUAGE PLPGSQL;注意:如果 返回类型为 setof,最好用如下方法 RETURNQUERYEXECUTESQL 不要这么用 executesqlinto  out;returnout;返回多行多列 也有多种方式 1. 使用 return next 和  setof record ,需要 for 循环 CREATEORREPLACEFUNCTIONfuncname ( in_id...

存储过程 return 和 output
RETURN是函数中的返回值,OUTPUT是存储过程返回给调用程序的参数

sql数据库问题 我想利用存储过程计算个人得分 但是 return value 0
意思挺简单的哦 select 论文分工 from 撰写 a where a.员工编号=@员工编号)这里面返回了不止一个值,是结果集 你相当于用一个变量=一个结果集了,所以出错了

sql goto 和 return的区别
goto是跳转到指定的位置。return是直接退出存储过程。

mssql 存储过程中循环如何写,在循环中用什么语句跳出循环呢,在线等_百 ...
INT SET @I=0 WHILE @I<10 BEGIN PRINT @I SET @I=@I+1 END 跳出循环有主要有2种 BREAK和RETURN 比如 DECLARE @I INT SET @I=0 WHILE @I<10 BEGIN PRINT @I BREAK END 这样就跳出循环了,也可以换成RETURN,RETURN会结束整个批查询的执行,BREAK仅仅跳出循环,继续执行后边的语句。

在sql select 语句中 如何获取 存储过程的返回值
SQL Server中存储过程的返回值不是通过return语句返回的(return语句是在用户自定义函数中使用的),而是通过存储过程的参数来返回,在定义存储过程的参数时使用关键字output来指定此参数是返回值。而在调用存储过程时,也必须使用关键字给接收返回值的变量,这样才能在调用时获得存储过程的返回值。示例:create ...

相似回答