MySQL, почему вы можете добавить переменные в подготовленный OUTFILE устав, но не в INFILE? - PullRequest
0 голосов
/ 15 марта 2012

Пример OUT FILE (РАБОТАЕТ)

DELIMITER ##
CREATE PROCEDURE exportFile(IN inFilePath varchar(100))
BEGIN

DECLARE filename VARCHAR(255);

SET filename = CONCAT(
inFilePath,
NOW(),
'.csv');

SET @outfilestmt = concat(
'SELECT * INTO OUTFILE ',
"'", filename,"'",
'FIELDS TERMINATED BY \',\'',
' FROM RESULTS');

PREPARE stmt FROM @outfilestmt;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

END ##
DELIMITER ;

Пример INFILE (НЕ РАБОТАЕТ)

DELIMITER ##
CREATE PROCEDURE loadFile1(IN inFilePath varchar(100))
BEGIN

DECLARE filename VARCHAR(255);

SET filename = inFilePath;

SET @loadFilestmt = CONCAT(
'LOAD DATA INFILE ',
"'", filename,"'",
' INTO TABLE INPUT'
);


PREPARE stmt FROM @loadFilestmt;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

END ##
DELIMITER ;

Это должно привести к тому же поведению, верно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...