0
点赞
收藏
分享

微信扫一扫

MySQL:怎样临时执行多条SQL语句(包含declare 定义变量等复杂业务)


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;

执行结果

MySQL:怎样临时执行多条SQL语句(包含declare 定义变量等复杂业务)_代码块

举报

相关推荐

0 条评论