2017-08-01 118 views
0

我想用shell腳本下面的SQL查詢殼牌和MySQL

SELECT min(UM.USER_ID) USER_ID, min(UM.USER_NAME) USER_NAME, min(UM.USER_EMAIL) USER_EMAIL, min(UM.USER_STATUS) USER_STATUS 
FROM CDR_ETHICON.USER_ROLE_MAP URM INNER JOIN USER_MASTER UM ON URM.USER_ID = UM.USER_ID 
GROUP BY UM.USER_ID HAVING COUNT(UM.USER_ID) > 1 

欲瞭解更多信息,生成excel文件,我已經在Oracle SQL Developer中版本1.5.1.54.40安裝在UNIX服務器

現在來自UNIX服務器,我想發起這個SQL查詢,並希望以excel格式輸出,這樣我就可以自動完成並通過郵件發送。

回答

0

你需要寫一個shell腳本,執行以下操作:

  1. 調用的MySQL(使用SELECT...INTO生成CSV格式輸出)執行查詢和輸出重定向到一個文本文件(比如說,output.csv
  2. 打開您的郵件程序發送output.csv文件

使用cron在您需要的時間間隔運行整個事情。

0

把下面的shell腳本並運行:

mysql -uusername -ppassword -Ddatabase <<EOF 
SELECT min(UM.USER_ID) USER_ID, min(UM.USER_NAME) USER_NAME, min(UM.USER_EMAIL) USER_EMAIL, min(UM.USER_STATUS) USER_STATUS 
FROM CDR_ETHICON.USER_ROLE_MAP URM INNER JOIN USER_MASTER UM ON URM.USER_ID = UM.USER_ID 
GROUP BY UM.USER_ID HAVING COUNT(UM.USER_ID) > 1 
into outfile 'youfilename.csv' 
fields terminated by ',' 
enclosed by '"' 
lines terminated by '\n'; 
EOF