簡體   English   中英

從我的SQL表中導出CSV文件中的數據之前如何檢查行數

[英]How to check number of rows before export the data in csv file from my sql table

下面的查詢對我來說很好,可以將數據從表中導出到csv文件中,但是我想處理類似查詢是否未返回記錄的情況,那么'filename.csv'文件中應該包含用戶的'未找到數據'消息

-- file name as timestamp
SET @fileName = DATE_FORMAT(NOW(),'%Y-%m-%d-%H:%i:%s');
SET @FOLDER = '/tmp/';
SET @EXT    = '.csv';

SET @CMD = CONCAT("SELECT id,name,salary,salaryDate FROM emp1 where name ='some_name' INTO OUTFILE '"
            ,@FOLDER,@fileName,@EXT,
            "' FIELDS ENCLOSED BY '\"' TERMINATED BY ',' ESCAPED BY '\"'",
            "  LINES TERMINATED BY '\n';"); 
PREPARE statement FROM @CMD;
EXECUTE statement;

我需要在哪里更改? 有人可以幫助我嗎?

您應該創建存儲過程。 使用COUNT函數檢查行號,然后輸出所需的結果之一,例如-

CREATE PROCEDURE procedure1()
BEGIN
  IF (SELECT COUNT(*) FROM emp1 where name ='some_name') = 0 THEN 
    SELECT 'no data found' INTO OUTFILE 'file_name.csv';
  ELSE
    your code here - SELECT INTO OUTFILE
  END IF;
END

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM