首页 > 解决方案 > 使用 MySQL Workbench 执行代码块

问题描述

我想同时执行一组多个 MySQL 查询(串行,而不是并行)。我不需要操作是原子的。这是一个玩具示例:

在此处输入图像描述

我可以在 MySQL Workbench 中通过将光标从一行移动到下一行并按 Ctrl+Enter 来完成此操作。更好的是,我可以选择块并按 Ctrl+Shift+Enter。

但是,如果我想快速浏览几个这样的块,则必须单独选择每个块变得很笨拙。我希望能够把它变成一个程序:

DELIMITER //
CREATE PROCEDURE do_sum()
BEGIN
CREATE TABLE IF NOT EXISTS ttt (col INT);
LOAD DATA INFILE "/var/lib/mysql-files/data.csv" INTO TABLE ttt;
SET @my_sum := (SELECT SUM(col) FROM ttt);
DROP TABLE ttt;
SELECT @my_sum; 
END//
DELIMITER ;

不幸的是,这失败了Error Code 1314. LOAD DATA is not allowed in stored procedures。正如文档所解释的,只有一部分命令在过程中起作用,不包括LOAD DATA.

我想要么

这可能吗?

标签: mysqlmysql-workbench

解决方案


推荐阅读