2017-08-01 2 views
0

は、私はより多くの情報については、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

あなたは、次のないシェルスクリプトを記述する必要があります。

  1. 起動MySQLは(CSV形式で出力を生成するSELECT...INTOを使用して)クエリを実行し、テキストファイル(たとえば、output.csvに出力をリダイレクトします)
  2. output.csvファイル

ご希望の間隔で全体のことを実行するためにcronを使用するを送信するために、あなたのメールプログラムを起動します。

0

シェルスクリプトで次のように入れて、実行します。

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 
関連する問題