`

mysql 存储过程中不能使用 return 的解决办法

 
阅读更多

     大家都知道,mysql 的存储过程是不能使用 return 语句的,只有存储函数才有此功能。那么,有没有替代 return 的关键字呢?
    没有!
    像 exit, quit 之类的关键字全没有!
    怎么办?
    使用功能稍次一些的 leave 关键字吧,此关键字可以模仿 return 的行为。
    举一个例子吧:
    
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Procedure structure for sp_test_return
-- ----------------------------
DROP PROCEDURE IF EXISTS `sp_test_return`;
DELIMITER ;;
CREATE PROCEDURE `sp_test_return`(In num integer)
label_pro:begin
if num > 3 then
   leave label_pro;
else
   select num as exeuted;
end if;
end;;
DELIMITER ;

    本例中,给整个存储过程的入口打了一个标记,当在遇到需要退出存储过程时,只要 leave + 此标记即可。

分享到:
评论

相关推荐

    php调用mysql存储过程

    前面转载了一篇《php调用mysql存储过程的文章》经过测试,发现文章中的方法似乎不可行! 调用带有select语句的存储过程就出现 PROCEDURE p can’t return a result set in the given context的错误。...

    MySQL存储过程和函数使用总结

     存储过程和函数是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程和函数可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。...

    delphi如何调用sql存储过程,并获取结果

    delphi如何调用sql存储过程,并获取结果 adostoredproc1.Close; adostoredproc1.ProcedureName:='sp_thchl'; adostoredproc1.Parameters.Clear; adostoredproc1.Parameters.CreateParameter('out',ftInteger,...

    php调用MySQL存储过程的方法集合(推荐)

    类型一:调用带输入、输出类型参数的方法复制代码 代码如下:$returnValue = ”;try { mysql_query ( “set @Return” ); $spname = ‘P__Test_GetInfo1’; mysql_query ( “call $spname(@Return, ‘{$userId}’,...

    MySQL数据库:存储函数调用.pptx

    数据库编程 存储函数的调用、举例 课程目标 掌握 ——存储函数的调用方法; 掌握—— 存储函数的使用方法; 存储函数的查看、调用 ...【例】 创建一个存储函数来删除Sell表中有但Book表中不存在的记录。 DELIMITER

    MySQL系列—-创建存储函数、游标的使用

    MySQL系列—-创建存储函数、游标的使用创建存储函数输入任意三个数,结果输出它们的最小值调用函数使用游标使用游标从表中查询信息从sc表中查询成绩高于80分的学生信息有帮助的别忘了点个赞再走哦!! 本期是MySQL...

    C#获取存储过程返回值和输出参数值的方法

    代码如下://存储过程//Create PROCEDURE MYSQL// @a int,// @b int//AS// return @a + @b//GOSqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings[“LocalSqlServer”].ToString())...

    计算机二级mysql数据库程序设计练习题(二).docx

    在 MySQL的命令行中调用存储过程 sp 和函数 fn 的方法分别是 ______。 A.CALL sp() ,SELECT fn() ; B.SELECT sp() ,CALL fn() ; C.CALL sp() ,CALL fn() ; D.SELECT sp() ,SELECT fn() ; 6.下列关于局部变量...

    PHP和MySQL Web开发第4版pdf以及源码

    14.3.2 不能招揽足够的生意 14.3.3 计算机硬件故障 14.3.4 电力、通信、网络或运输故障 14.3.5 广泛的竞争 14.3.6 软件错误 14.3.7 不断变化的政府政策和税收 14.3.8 系统容量限制 14.4 选择一个策略 14.5 ...

    PHP和MySQL WEB开发(第4版)

    14.3.2 不能招揽足够的生意 14.3.3 计算机硬件故障 14.3.4 电力、通信、网络或运输故障 14.3.5 广泛的竞争 14.3.6 软件错误 14.3.7 不断变化的政府政策和税收 14.3.8 系统容量限制 14.4 选择一个策略 14.5 下一章 ...

    MySQL5创建存储过程的示例

    存储过程可以一次执行多个sql语句,所以php只连接数据库一次就能查询多个语句;不过要返回多个结果集就必须用mysqli扩展来查询,否则会提示错误can't return a result set in the given context

    关于MySQL的存储函数(自定义函数)的定义和使用方法详解

    存储函数 什么是存储函数: 封装一段sql代码,完成一种特定的功能,返回结果。...与存储过程返回参数不同的是存储函数在定义时没用直接声明哪个变量是返回参数,而只是使用了returns声明了返回参数所属的数据类

    mySQL事务处理

    或者 只可以通过存储过程来实现, 单行的锁定 BEGIN; SELECT book_number FROM book WHERE book_id = 123 FOR UPDATE; --这里for update , 以前用Oracle的时候也是有这个行锁 // ... UPDATE book SET book_number ...

    PHP和MySQL Web开发第4版

    14.3.2 不能招揽足够的生意 14.3.3 计算机硬件故障 14.3.4 电力、通信、网络或运输故障 14.3.5 广泛的竞争 14.3.6 软件错误 14.3.7 不断变化的政府政策和税收 14.3.8 系统容量限制 14.4 选择一个策略 14.5 ...

    图书管理系统数据库设计-MYSQL实现(3).docx

    return_table:存储学生的归还信息 6 这是一个简单的图书管理系统的MYSQL设计,包含了数据插入,删除,定时器,触发器设计 ticket:存储学生的罚单信息 manager: 3、设计索引 给出在各表上建立的索引以及使用的语句。...

    mysql数据库的基本操作语法

    视图就是一个表或多个表的查询结果,它是一张虚拟的表,因为它并不能存储数据。 视图的作用、优点: 限制对数据的访问 让复杂查询变得简单 提供数据的独立性 可以完成对相同数据的不同显示 创建、修改视图 create or...

    消息聊天系统MySQL表设计-聊天系统-数据库设计.pdf

    = nil { return false } if resCnt > 2 {//10秒同⼀userid不能访问超过2次 fmt.Println("触发频控") //... return false } Client.Incr(key) return true } 频控测试 redis.CreateClient() var res bool = true for ...

    ThinkPHP实现将SESSION存入MYSQL的方法

    本文以实例讲解了ThinkPHP实现将SESSION存入MYSQL的方法,所采用的运行环境是ThinkPHP3.1.2版 首先index.php中设置为: <?php define('APP_DEBUG', true);//设置为调试模式 require '../ThinkPHP/ThinkPHP.php';...

    mysql-js:用于MySQL集群的NoSQL node.js连接器

    这是一个使用Database Jones将单个对象(JSON文字)存储到现有MySQL表中的示例: var jones = require("database-jones");var connectionProperties = new jones.ConnectionProperties("mysql");jones.openSession...

    图书管理系统数据库设计mysql实现-().docx

    book_id varchar not null / PK 书籍编号 borrow_date datatime null 借书时间 expect_return_date datetime null 预期归还时间 return_table:存储学生的归还信息 列名 数据类型 是否为空/性质 说明 student_id ...

Global site tag (gtag.js) - Google Analytics