使用 Groovy SQL 计算受影响的行数

Jes*_*eta 2 sql groovy sql-insert sql-delete

假设我有以下 SQL 表定义:

create table test(
    id number(5) primary key
);
Run Code Online (Sandbox Code Playgroud)

此外,我想使用 Groovy 的 SQL 支持在所述表上执行INSERT和语句。DELETE

给定以下代码,该代码执行一条INSERT语句:

Sql db = new Sql(some_dataSource)
String query = "insert into test (id) values (999)"
def result = db.execute(query)
Run Code Online (Sandbox Code Playgroud)
  • 我可以知道,在这段代码中,插入了多少行test(在本例中为 1)?

  • result该变量对于确定这一点有用吗?

我尝试在此处此处查看 Groovy 的 SQL 支持文档,但提供的示例似乎仅对SELECT语句进行行计数。

谢谢!

ata*_*lor 5

您可以使用 获取插入的行数Sql.getUpdateCount()。例子:

db.execute(query)
println db.updateCount
Run Code Online (Sandbox Code Playgroud)

execute 的返回值是一个布尔值,指示语句是否成功执行。

API 文档Sql.execute()有完整的解释。