储存过程中的变量
要在存储过程中声明一个变量,可以使用DECLARE语句,如下所示:
DECLARE variable_name datatype DEFAULT default_value;
下面来更详细地解释上面的语句:
- 首先,在DECLARE关键字后面要指定变量名。变量名必须遵循MySQL表列名称的命名规则。
- 其次,指定变量的数据类型及其大小。变量可以有任何MySQL数据类型,如INT,VARCHAR,DATETIME等。
- 第三,当声明一个变量时,它的初始值为NULL。但是可以使用DEFAULT关键字为变量分配默认值。
例如:可以声明一个名为total_sale的变量,数据类型为INT,默认值为0,如下所示:
DECLARE total_sale INT DEFAULT 0;
设置变量值
DECLARE total_count INT DEFAULT 0;
SET total_count = 10;
除了SET语句之外,还可以使用SELECT INTO语句将查询的结果分配给一个变量。
DECLARE total_products INT DEFAULT 0;
SELECT COUNT(*) INTO total_products FROM students;
示例
delimiter //
create procedure proc_stu_2()
begin
DECLARE total_count INT DEFAULT 0;
SET total_count = 10;
select * from students;
end
//
delimiter ;