1.未使用Declare定义变量的情况
Mysql 执行多条语句时,每条语句可以用分号间隔,语句是可以按顺序执行下来的。
比如增删改查每句用分号间隔即可
SELECT '0001';
SELECT '0002'; -- 或其他insert updat delete语句
2.使用Declare定义变量的情况
因为Declare语法必须出现在Begin ... end代码块执行,所以经常都会在存储过程中看到。
如果想在多语句代码块中使用Declare定义变量,只能创建存储过程,并在末尾语句删除此存储过程。所以这里的用法MySQL与SQLserver、Oracle不同,稍显麻烦。
用法如下
-- 创建临时存储过程
DROP PROCEDURE IF EXISTS ptemp;
CREATE PROCEDURE ptemp()
BEGIN
DECLARE parent_code VARCHAR(50);
SET parent_code='0001';
SELECT parent_code;
END;
-- 执行存储过程
CALL ptemp;
-- 删除存储过程
DROP PROCEDURE ptemp;
执行结果