在编写存储过程中,有时需要使用变量,保存数据处理过程中的值
MySQL中,变量可以在子程序中,声明并使用,作用范围在BEGIN……END程序中
在存储过程中,使用DECLARE语句,定义变量
语法格式
DECLARE var_name[,varname]……date_type[DEFAULT value]
定义一个名称为myvariable的变量,类型为INT类型,默认值为100
DECLARE myvariable INT DEFAULT 100;
定义变量之后,为变量赋值,改变变量的默认值
mysql中,使用SET语句为变量赋值
SET var_name=expr [,var_name=expr]……;
MySQL中
允许不同的变量类型,局域声明变量及全局变量,可以混合起来
允许把局部变量,和一些只对系统变量有意义的选项合并起来
SET a=x,b=y,……
声明三个变量,分别为var1、var2、var3,数据类型为INT,使用SET为变量赋值
DECLARE var1,var2,var3 int;
SET var1=10,var2=20;
SET var3=var1+var2;
此外,除了使用SET为变量赋值
MySQL中,可以使用SELECT……INTO为一个或多个变量赋值
该语句可以把选定的列,直接存储到对应位置的变量
语法格式
SELECT col_name[……] INTO var_name [……] table_expr;
声明变量s_grade和s_gender,通过SELECT……INTO语句,查询指定记录,并为变量赋值
上述语句,将student表中,name为rose的同学的成绩和性别,分别存入到了变量s_grade和s_gender中。