1

変数を Outfile として使用する方法が見つかりません。

DECLARE wOutFile CHAR(256);
SET wOutFile = CONCAT('c/data/',wDateStr,'.csv');
SELECT * FROM sometable
INTO OUTFILE wOutFile;

上記は、最後の行でエラーをレンダリングします。MySQL Workbench の構文パーサーは、最後の行の wOutFile を好みません。

パーサーに変数の内容を使用するように指示する方法はありますか?

しばらく検索しようとしましたが、質問の言い回しがうまくいかなかったに違いありません。

4

1 に答える 1

4

文字列から新しいステートメントを作成する場合は、準備済みステートメントを使用する必要があります-

DECLARE wOutFile CHAR(256);
SET wOutFile = CONCAT('c/data/',wDateStr,'.csv');

SET @var = CONCAT('SELECT * FROM sometable INTO OUTFILE ', wOutFile);
PREPARE stmt FROM @var;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
于 2012-12-06T07:15:35.883 に答える