如何使用Groovy调用存储过程?

时间:2010-12-20 06:29:33

标签: sql stored-procedures groovy

  1. 如何使用Groovy调用存储过程?
  2. 如何从Grails项目创建存储过程(作为域类创建数据库)?

1 个答案:

答案 0 :(得分:2)

调用FullName存储过程的示例,该过程采用参数(示例中为“Sam”)并返回VARCHAR。

sql.call("{? = call FullName(?)}", [Sql.VARCHAR, 'Sam']) { name ->
    assert name == 'Sam Pullara'
}

同样的例子,但有一个GString变种:

def first = 'Sam'
sql.call("{$Sql.VARCHAR = call FullName($first)}") { name ->
    assert name == 'Sam Pullara'
}

以下是带有out参数的存储过程的示例:

sql.call '{call Hemisphere(?, ?, ?)}', ['Guillaume', 'Laforge', Sql.VARCHAR], { dwells ->
    println dwells // => Northern Hemisphere
}

参考this