As we all know,MySQL的存储过程就类似于脚本,既然似脚本就会有使用到变量的时候。
MySQL存储过程常见的变量:局部变量、用户变量、系统变量……
一、局部变量
在过程体中,可以声明局部变量,用来临时保存一些值。
1、定义局部变量语法:
DECLARE var_name[, var_name] ... type [DEFAULT value];
其中,type为MySQL的数据类型,如:int、float、date、varchar(length)
注意:
①DECLARE用来声明局部变量,且DECLARE仅被用在BEGIN ... END复合语句里,并且必须在复合语句的开头,在任何其它语句之前;可以被用在嵌套的块中,除了那些用相同名字声明变量的块。
②如果要给变量提供一个默认值,使用DEFAULT子句(值可以是常数,也可以指定为一个表达式);如果没有DEFAULT子句,初始值为NULL。
2、基本格式:
CREATE PROCEDURE sp_name ([proc_parameter[,...]])
BEGIN
DECLARE var_name1 type [DEFAULT value];
DECLARE var_name2 type [DEFAULT value];
DECLARE……;
[characteristic ...];
END
例1:创建过程,为局部变量指定默认值,并调用该过程
mysql>delimiter $$</