2016-04-27 22 views
1

1つのステートメントに複数の値を挿入する必要があります。 groovyの準備文を使用してこれは可能ですか?私が持っているGroovyの1つのSQL文に複数の行を挿入

sql.execute(""" 
insert into all_priceuploaddummy (seller_sku) values (?.sku), (?.sku), (?.sku) 
""" 
, [[sku:1],[sku:2],[sku:3]]) 

しかし、それは3回最初のSKUを挿入し、以下の1

私が行うことができますどのようにすべてのエントリをループせずに?

答えて

4

withBatch(String, Closure)バッチ内でクロージャ(関連するプリペアドステートメントに固有のバッチ処理を含む)を実行する方法を使用できます。

def updateCounts = sql.withBatch('insert into TABLENAME(a, b, c) values (?, ?, ?)') { ps -> 
    ps.addBatch([1, 2, 3]) 
    ps.addBatch([10, 20, 30]) 
    ps.addBatch(100, 200, 300) 
} 
関連する問題