我一直在 Groovy 中的 Oracle 存储过程(在 NiFi 中)中检索单个输出参数,如下所示:
import groovy.sql.SQL
def inParemter = 'send this value to the stored proc'
def errorCount = 0
def conn = (create connection to DB, details are inconsequential here)
def sql = Sql.newInstance(conn)
sql.call('{call MY_SCHEMA.MY_STOREDPROC(?, ?)}', [inParameter, Sql.INTEGER], { ec -> errorCount = ec })
conn.close()
我的问题是,检索多个输出参数的语法是什么?不是这样的:
sql.call('{call MY_SCHEMA.MY_STOREDPROC(?, ?, ?)}', [inParameter, Sql.INTEGER, Sql.VARCHAR], { ec -> errorCount = ec }, { es -> errorString = es})
我也尝试了其他一些方法。谷歌搜索了一下,感觉比较接近,但没人尝试过这个方法。我看到过一些例子:
...{ ec, es -> ... }
但不确定如何形成分配ec
Groovyes
变量的语法。