MySQL——局部变量
局部变量
1、声明变量:在存储过程中可以声明局部变量,它们可以用来存储临时结果,并且只能用于该存储过程;只能在begin…end语句块中声明。
必须使用declare语句
2、语法格式
declare var_name type [default value]
其中,var_name为变量名;type为变量类型;default字句给变量指定一个默认值,如果不指定就默认为null。
3、声明变量的例子
声明一个整型局部变量num,和两个字符型局部变量str1,str2。
DELIMITER $$
CREATE PROCEDURE test()
BEGIN
DECLARE num INT(4);
DECLARE str1, str2 VARCHAR(6);
END $$
DELIMITER ;
4、使用set语句赋值
DELIMITER $$
CREATE PROCEDURE test()
BEGIN
DECLARE num INT(4);
DECLARE str1, str2 VARCHAR(6);
SET num=1, str1= 'hello';
END $$
DELIMITER ;
5、select…into语句
例如:
在存储过程体中将XS表中的学号为081101的学生姓名和专业名的值分别赋给变量name和project。
并且调用该存储过程,查看该生的姓名和专业名。
DELIMITER $$
CREATE PROCEDURE test(out name VARCHAR(8),out project varchar(10))
BEGIN
SELECT 姓名,专业名 INTO name, project
FROM XS
WHERE 学号= '081101';
END $$
DELIMITER ;
调用以上存储过程的语句
call test(@str1,@str2);
select @str1,@str2;
点击加载更多评论>>