使用Groovy的多个SQL语句

时间:2016-11-25 00:42:29

标签: sql jdbc groovy soapui

使用SoapUI中的Groovy从DB中删除多个条目

我能够执行一个SQL语句,但是当我做了一些它只是挂起。

如何删除多行?

  def sql = Sql.newInstance('jdbc:oracle:thin:@jack:1521:test1', 'test', 'test', 'oracle.jdbc.driver.OracleDriver')
    log.info("SQL connetced")
  sql.connection.autoCommit = false

  try {
log.info("inside try")
  log.info("before")
  String Que =
  """delete from table name where user in (select user  from user where ID=    '123' and type= 262);
 delete from table name where user in (select user  from user where ID= '1012' and type= 28)
 delete from table name where user in (select user  from user where ID= '423' and type= 27)
"""
  log.info (Que)
 def output = sql.execute(Que);

   log.info(sql)

               log.info(output)
     log.info("after")

     sql.commit()
     println("Successfully committed")

  }catch(Exception ex) {
     sql.rollback()
     log.info("Transaction rollback"+ex)
  }

  sql.close()

1 个答案:

答案 0 :(得分:0)

以下是您要找的内容。

如果您想使用以下方式获得大量记录,我觉得这是更有效的方式。

  • 为数据创建一个映射,即id,键入作为您的案例中需要删除的键值对。
  • 使用闭包通过迭代来执行查询。

适当添加评论。

https://example.com

如果您只是处理执行多个查询的方法,那么您可能会查看optional final argument of the Header directive并且不确定您的数据库是否支持相同的。