【问题标题】:Insert multiple rows in one SQL statement in Groovy在 Groovy 中的一条 SQL 语句中插入多行
【发布时间】:2016-04-27 08:36:00
【问题描述】:

我需要在一个语句中插入多个值。这可能使用 groovy 的准备好的语句吗?我有以下

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

但这会插入第一个 sku 的 3 次,即 1

如何在不遍历所有条目的情况下做到这一点?

【问题讨论】:

    标签: mysql groovy


    【解决方案1】:

    您可以使用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)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-08
      • 1970-01-01
      相关资源
      最近更新 更多