本文转载自: http://www.111cn.net/database/mysql/38878.htm
mysql教程 procedure存储过程循环,条件判断实例
mysql> delimiter $$
mysql> CREATE PROCEDURE myProc()
-> DETERMINISTIC
-> BEGIN
-> DECLARE counter INT DEFAULT 0;
->
-> simple_loop: LOOP
-> SET counter=counter+1;
-> select counter;
-> IF counter=10 THEN
-> LEAVE simple_loop;
-> END IF;
-> END LOOP simple_loop;
-> SELECT 'I can count to 10';
-> END$$
Query OK, 0 rows affected (0.00 sec)mysql>
mysql> delimiter ;
mysql>
mysql> call myProc();
+---------+
| counter |
+---------+
| 1 |
+---------+
1 row in set (0.00 sec)+---------+
| counter |
+---------+
| 2 |
+---------+
1 row in set (0.02 sec)+---------+
| counter |
+---------+
| 3 |
+---------+
1 row in set (0.02 sec)+---------+
| counter |
+---------+
| 4 |
+---------+
1 row in set (0.02 sec)+---------+
| counter |
+---------+
| 5 |
+---------+
1 row in set (0.02 sec)+---------+
| counter |
+---------+
| 6 |
+---------+
1 row in set (0.02 sec)+---------+
| counter |
+---------+
| 7 |
+---------+
1 row in set (0.02 sec)+---------+
| counter |
+---------+
| 8 |
+---------+
1 row in set (0.02 sec)+---------+
| counter |
+---------+
| 9 |
+---------+
1 row in set (0.33 sec)+---------+
| counter |
+---------+
| 10 |
+---------+
1 row in set (0.33 sec)+-------------------+
| I can count to 10 |
+-------------------+
| I can count to 10 |
+-------------------+
1 row in set (0.33 sec)Query OK, 0 rows affected (0.33 sec)
实例二
mysql> CREATE PROCEDURE myProc()
-> BEGIN
-> DECLARE i int;
-> SET i=1;
-> myloop: LOOP
-> SET i=i+1;
-> IF i=10 THEN
-> LEAVE myloop;
-> END IF;
-> END LOOP myloop;
-> SELECT 'I can count to 10';
->
-> END$$
Query OK, 0 rows affected (0.00 sec)mysql>
mysql> delimiter ;
mysql>
mysql> call myProc();
+-------------------+
| I can count to 10 |
+-------------------+
| I can count to 10 |
+-------------------+
1 row in set (0.00 sec)Query OK, 0 rows affected (0.00 sec
带有条件
mysql> create procedure increment (IN in_count INT)
-> BEGIN
-> declare count INT default 0;
->
-> increment: loop
-> set count = count + 1;
-> if count < 20 then
-> iterate increment;
-> end if;
-> if count > in_count then
-> leave increment;
-> end if;
-> end loop increment;
-> select count;
-> END
-> //
Query OK, 0 rows affected (0.00 sec)mysql>
mysql> delimiter ;
mysql> call increment(3);
+-------+
| count |
+-------+
| 20 |
+-------+
1 row in set (0.00 sec)Query OK, 0 rows affected (0.00 sec)
相关推荐
本资源结合实例实现一个复杂的存储过程,存储过程中有用到游标、临时表、循环、递归等知识,sql文件附有实例数据表创建的sql语句。
mysql存储过程实例详细介绍了mysql存储过程的开发步骤
一个简单易理解的mysql存储过程 循环表操作 使用游标
MySQL存储过程实例教程,MySQL存储过程实例教程
本文实例讲述了mysql存储过程之case语句用法。分享给大家供大家参考,具体如下: 除了if语句,mysql提供了一个替代的条件语句CASE。 mysql的 CASE语句使代码更加可读和高效。废话不多说,我们先来看下简单case语句的...
详细地介绍MYSQL命令行下,编写存储过程以及存储过程的调用,附带分页存储过程的详细代码,本人已经测过。
本文实例讲述了mysql存储过程之错误处理。分享给大家供大家参考,具体如下: 当存储过程中发生错误时,重要的是适当处理它,例如:继续或退出当前代码块的执行,并发出有意义的错误消息。其中mysql提供了一种简单的...
本资源是mysql创建存储过程和计划任务实例,实现"待付款订单下单后15分钟未付款就取消订单"的需求。
MySQL创建存储过程批量插入10万条数据 存储过程 1、首先防止主键冲突,我们清空表。 TRUNCATE table A_student; 2、编写存储过程 delimiter ‘$’; CREATE PROCEDURE batchInsert(in args int) BEGIN declare i int ...
java 调用 mysql存储过程实例
Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三...
MySql 分页 存储过程 MySql 分页 存储过程 MySql 分页 存储过程
( 1 ) MySQL 存储过程是在 “ 命令提示符 ” 下创建的 , 所以首先应该打开 “ 命令提示符 ” 窗 口。 ( 2 )进入 “ 命令提示符 ” 窗口后,首先应该登录 MySQL 数据库服务器,在 “ 命令提示符 ” 下输入如下...
c++实现调mysql存储过程,实现存储过程的出参入参,可以支持查询多数据返回,还有存储过程的复杂数据的增删改等
mysql存储过程方面的圣经,以通俗的示例方法讲述mysql存储过程的深奥内容,In MySQL Stored Procedure Programming, they put that hard-won experience to good use. Packed with code examples and covering ...
--1、创建存储过程-- if exists (select * from sysobjects where name='Sum_wage') drop procedure Sum_wage GO create procedure Sum_wage @PWage int, @AWage int, @total int as while (1=1) begin if (select...
本文实例讲述了MySQL存储过程的异常处理方法。分享给大家供大家参考。具体如下: mysql> mysql> delimiter $$ mysql> mysql> CREATE PROCEDURE myProc -> (p_first_name VARCHAR(30), -> p_last_name VARCHAR(30)...
mysql经典教程+mysql存储过程讲解 重点讲解Mysql的存储过程,触发器,游标的使用 对mysql不太熟的朋友可以好好学习。。。