2016-09-14 9 views
0

テーブル内の列の1つから値をOutFile名に追加する月単位で実行されるエクスポートを生成しようとしていますが、これは可能ですか?テーブルからのデータを使用するMySQL OutFile

表がmytableはあると列が分

で「201601」が含まれているCOL1である私は次の実行上の201601は自動的に201602に変更されているだろう「を/ tmp/Output_201601」を表示するために私のOUTFILEをしたいと思います等

答えて

1

これはストアドプロシージャで行うことができます。 例このプロシージャを呼び出すと、表mytableのデータが、名前D:/ tmp/Output_ +フィールドCol1の先頭値のファイルにエクスポートされます。

CREATE PROCEDURE `PrepareReport`() 
BEGIN 
SET @OutputFileName := 'D://tmp//Output_'; 

SELECT Col1 INTO @ReportNr FROM mytable ORDER BY Col1 DESC LIMIT 1; 

SET @q1 := concat("SELECT * FROM mytable INTO OUTFILE '", @OutputFileName, @ReportNr, ".csv'"); 
PREPARE s1 FROM @q1; 
EXECUTE s1; 
DEALLOCATE PREPARE s1; 
END 
+0

ありがとう、これは本当にうまくいった –

関連する問題