【发布时间】:2021-02-12 22:02:55
【问题描述】:
我有一个只有几张表的数据库,但我们真的对两个很感兴趣。在第一个中,我有分配了 id 的数据。在第二个中,我选择了 id。 我要做的是在循环中运行一个语句,该语句将根据提供给语句的条件从第一个表中选择我感兴趣的内容。现在我想循环语句,所以在每次调用中,条件都是第二个表中的 id。此外,我希望将结果保存到名称与调用的 id 对应的文件中。 到目前为止,我有这个:
DELIMITER $$
CREATE PROCEDURE generateData(
IN idNumber INT
)
BEGIN
SELECT
id,
name,
d_year,
d_month,
d_day,
d_value
FROM d_dataframe
WHERE
id = idNumber
INTO OUTFILE "D:\\test.csv"
CHARACTER SET utf-8
FIELDS TERMINATED BY ';'
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n';
END $$
DELIMITER ;
在上面的代码中,我需要一种方法来替换 INTO OUTFILE "D:\test.csv" 部分,所以当调用第二个表获取值时,比如说 101、102、103 来获取文件 101.csv, 102.csv,103.csv。我需要添加什么以及如何调用该循环?
提前致谢!
克里斯
【问题讨论】:
-
使用动态 SQL(准备语句)。 dev.mysql.com/doc/refman/8.0/en/sql-prepared-statements.html
标签: mysql loops stored-procedures into-outfile