MySQL变量的定义与赋值 – 推酷

MySQL变量的定义与赋值

来源: MySQL变量的定义与赋值 – 推酷

变量可以在子程序(函数、存储过程、匿名块)中声明并使用,这些变量的作用范围是在BEGIN…END程序中。

定义变量

语法格式:

DECLARE var_name [, var_name]... data_type [ DEFAULT value ];

var_name为局部变量的名称;

DEFAULT value子句指定指定变量的默认值,value除了可以被声明为一个常量外,还可以被指定为一个表达式。如果没有DEFAULT子句,变量的初始值为NULL。

示例:

DECLARE myparam INT DEFAULT 100;

变量赋值

定义变量以后,为变量赋值可以改变变量的默认值。MySQL中使用SET语句为变量赋值。

在存储程序中的SET语句是一般SET语句的扩展版本。被参考变量可能是子程序内声明的变量,或者是全局服务器变量,如系统变量或者用户变量。

语法1:

SET var_name=expr [, var_name=expr]...;

示例1:

声明3个变量,分别为var1, var2和var3,数据类型为INT,使用SET为变量赋值

DECLARE var1, var2, var3 INT;
SET var1=10, var2=20;
SET var3=var1+var2;

语法2:SELECT INTO为变量赋值

SELECT INTO语法把选定的列直接存储到对应位置的变量。

MySQL中还可以通过SELECT…INTO为一个或者多个变量赋值,语法如下:

SELECT col_name[,...] INTO var_name[,...] table_expr [WHERE...];

示例2:

声明变量v_employee_name和v_employee_salary,通过SELECT…INTO语句查询指定记录并为变量赋值:

DECLARE v_employee_name VARCHAR(100);
DECLARE v_employee_salary DECIMAL(8,4);

SELECT employee_name, employee_salary
INTO v_employee_name, v_employee_salary
FROM employees
WHERE employee_id=1;

————————————————————————————————————————

如果您们在尝试的过程中遇到什么问题或者我的代码有错误的地方,请给予指正,非常感谢!

联系方式:david.louis.tian@outlook.com

版权@:转载请标明出处!

分享到: 更多 (0)