Heim > Datenbank > MySQL-Tutorial > mysql procedure存储过程循环,条件判断范例

mysql procedure存储过程循环,条件判断范例

WBOY
Freigeben: 2016-06-07 16:24:07
Original
1137 Leute haben es durchsucht

mysql procedure存储过程循环,条件判断实例 本文转载自:???? http://www.111cn.net/database/mysql/38878.htm ? ? mysql教程 procedure存储过程循环,条件判断实例 ? mysql delimiter $$ mysql CREATE PROCEDURE myProc() ??? - DETERMINISTIC ??? - BEGIN ?

mysql procedure存储过程循环,条件判断实例

本文转载自:???? 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 ??? ->???????????? 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)

?

?

?

?

?

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage