我正在通过groovy方法groovy.sql.Sql.callWithAllRows调用sql存储过程,该方法不需要参数,仅返回resultSet。但是在发布带有空附件的以下方法时,它失败,因为“没有方法签名:groovy.sql.Sql.callWithAllRows()适用于参数类型”我假设您可以在不发送参数的情况下进行callWithAllRows,因为存储过程不需要它们吗?
这是失败的呼叫:
List<List<GroovyRowResult>> results = sql.callWithAllRows("{call
myStoredProcedure()}",[],{});
results.each { result ->
result.each { row ->
row.each {
println(it.FormalName.toString())
}
}
}
我的存储过程
CREATE PROCEDURE myStoredProcedure
AS
BEGIN
SELECT TOP 10 Title + ' ' + FirstName + ' ' + LastName AS FormalName
FROM Person.Contact
END
答案 0 :(得分:1)
正确的语法是
def rowsList = sql.callWithAllRows '{call myStoredProcedure()}',[],{
result ->
}