file_path能去掉吗
时间: 2023-12-06 16:02:47 浏览: 48
根据存储过程的代码,`file_path`是一个输入参数,用于指定文件所在的路径。如果你的文件路径是固定的,可以将`file_path`参数的值直接写在查询语句中,而不需要将其作为参数传递。
修改后的存储过程如下所示:
```
CREATE DEFINER=`taobao`@`%` PROCEDURE `insert_data_from_txt`(IN file_name VARCHAR(255))
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE line VARCHAR(255);
DECLARE col1 VARCHAR(8);
DECLARE col2 VARCHAR(5);
DECLARE col3 VARCHAR(6);
DECLARE file_cursor CURSOR FOR SELECT * FROM file_name;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
SET @query = CONCAT('SELECT * FROM /path/to/file/', file_name);
PREPARE stmt FROM @query;
OPEN file_cursor;
FETCH file_cursor INTO line;
WHILE NOT done DO
SET col1 = TRIM(SUBSTRING(line, 1, 8));
SET col2 = TRIM(SUBSTRING(line, 9, 5));
SET col3 = TRIM(SUBSTRING(line, 14, 6));
INSERT INTO axsdc (name, aaaa, cccc) VALUES (col1, col2, col3);
FETCH file_cursor INTO line;
END WHILE;
CLOSE file_cursor;
END
```
在这个修改后的存储过程中,`file_path`参数被去掉了,查询语句中的文件路径被写死为`/path/to/file/`,你需要将其修改为你实际的文件路径。