2016-07-15 4 views
0

Oracleデータベーステーブルに接続してデータを取り出し、カンマ区切りの形式で結果を作成しようとしています。私はうまく動作するサンプルコードを書いたが、クエリがより多くのテーブル(結合)に関連付けられている場合は、より良いアプローチをしたいと考えていた。パフォーマンスを改善する方法はありますか?Groovyデータベース選択クエリからコンマ区切り文字列を作成する方が良い方法

import groovy.sql.Sql; 
import java.sql.ResultSet; 

def temp=""; 
def temp1=""; 
sql = Sql.newInstance("jdbc:oracle:thin:@localhost:1521:XE","username", "password", "oracle.jdbc.driver.OracleDriver") 
sql.eachRow("select empid, empname FROM employee") { 
    temp1=it.toRowResult().values().join(", ") 
    if(temp=="") { 
     temp=temp1; 
    }else{ 
     temp=temp+"\n"+temp1 
    }   
} 

答えて

0

empid ||を選択できます。 '、' ||クエリの従業員 FROM NEWVALUEとしてEMPNAME、あなたのためにそれからSQLの仕事を少し

+0

私はこの方法を試してみましたし、配列として結果を取得しています。私はより多くの時間を取っている結合メソッドを使用して文字列に配列を変換しています。現在、私はこの出力をファイルに書き込んでいません。私はGroovyでこれがどのように達成されるか、より良いアプローチを期待していました。 –

1
CSVWriter writer = new CSVWriter(new FileWriter("yourfile.csv"), ','); 
Boolean includeHeaders = true; 

java.sql.ResultSet myResultSet = .... //your resultset logic here 

writer.writeAll(myResultSet, includeHeaders); 

writer.close(); 
関連する問題