1. mysql > CREATE PROCEDURE GreetWorld( ) SELECT CONCAT(@greeting,' World');
2. mysql > SET @greeting='Hello';
3. mysql > CALL GreetWorld( );
4. ----------------------------
5. | CONCAT(@greeting,' World') |
6. ----------------------------
7. | Hello World |
8. ----------------------------
在存储过程间传递全局范围的用户变量
1. mysql> CREATE PROCEDURE p1() SET @last_procedure='p1';
2. mysql> CREATE PROCEDURE p2() SELECT CONCAT('Last procedure was ',@last_procedure);
3. mysql> CALL p1( );
4. mysql> CALL p2( );
5. -----------------------------------------------
6. | CONCAT('Last procedure was ',@last_proc |
7. -----------------------------------------------
8. | Last procedure was p1 |
9. -----------------------------------------------
注意:
①用户变量名一般以@开头
②滥用用户变量会导致程序难以理解及管理
注释
MySQL存储过程可使用两种风的注释
双模杠:–
该风一般用于单行注释
c风: 一般用于多行注释
例如:
1. mysql > DELIMITER
2. mysql > CREATE PROCEDURE proc1 --name存储过程名
3. -> (IN parameter1 INTEGER)
4. -> BEGIN
5. -> DECLARE variable1 CHAR(10);
6. -> IF parameter1 = 17 THEN
7. -> SET variable1 = 'birds';
8. -> ELSE
9. -> SET variable1 = 'beasts';
10. -> END IF;
11. -> INSERT INTO table1 VALUES (variable1);
12. -> END
13. ->
14.mysql > DELIMITER ;
MySQL存储过程的调用
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-59713-4.html
纯天然为卖点