繁体   English   中英

工作台中的MySql存储过程

[英]MySql stored procedure in workbench

我正在使用MySQL基准测试。 我必须创建一个表并编写一个过程以从textfilnd读取10,然后将它们加载到创建的表中。

我使用了查询:

use test; 
DELIMITER $$ 

CREATE DEFINER=`root`@`localhost` PROCEDURE `p_table`() 
BEGIN 
LOAD DATA LOCAL INFILE "D:/tablevalue.txt" 
INTO TABLE new_table 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n'; 

END $$ 

DELIMITER ; 

但是在存储过程中不允许出现诸如加载数据之类的错误,然后我使用了查询。

use test; 
drop procedure if exists `proctable`; 
DELIMITER $$ 

create definer =`root`@`localhost` procedure `proctable`() 
begin 

do sys_exec(concat('perl LOAD_DATA_INFILE.pl test.new_table ', 'D:\tablevalue.txt')); 

end $$ 

DELIMITER ; 

但是数据不是从文件上传到表中。

如果还有其他选择,请告诉我

对存储过程有一些限制。 例如-不可能使用LOAD DATA INFILE命令。 尝试不使用任何程序来执行此操作,只需将LOAD DATA INFILE语句作为单独的命令调用即可。

对存储程序的限制

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM