Stored procedures Soapui测试步骤groovy脚本调用存储过程并返回结果

Stored procedures Soapui测试步骤groovy脚本调用存储过程并返回结果,stored-procedures,groovy,soapui,Stored Procedures,Groovy,Soapui,我正在使用soapui5.1.3 groovy脚本测试步骤执行一个MS SQL存储过程“find”,其中begin、end和id参数作为存储过程的输入 下面是我的语法,我想打印列名为“empName”的所有行。但当我执行下面的语法时,得到的结果值为0 任何人都可以帮助正确的语法吗 def result = sql.call("{call find @begin = '01/01/2016 10:00' @end = '01/02/2016 10:00', @id = '1'}") log.inf

我正在使用soapui5.1.3 groovy脚本测试步骤执行一个MS SQL存储过程“find”,其中begin、end和id参数作为存储过程的输入

下面是我的语法,我想打印列名为“empName”的所有行。但当我执行下面的语法时,得到的结果值为0

任何人都可以帮助正确的语法吗

def result = sql.call("{call find @begin = '01/01/2016 10:00' @end = '01/02/2016 10:00', @id = '1'}") log.info(result) def result=sql.call(“{call find@begin='01/01/2016 10:00'@end='01/02/2016 10:00',@id='1'}”) 日志信息(结果)
您可以按如下方式进行操作:

def rowsAffected = sql.call("{call find('01/01/2016 10:00','01/02/2016 10:00','1')}")
println rowsAffected
或者,传递参数:

def rowsAffected = sql.call("{call find(?,?,?)}",['01/01/2016 10:00','01/02/2016 10:00','1'])
println rowsAffected
但是,如果您希望获得一些结果,而不是只查看受影响的行,则可以执行以下操作:

 sql.call("{? = call find(?,?,?)}", [Sql.VARCHAR, '01/01/2016 10:00','01/02/2016 10:00','1'], 
 { empName->
     println empName
 })
在最后一个示例中,请注意params数组中的第一个元素是返回变量的类型,我假设它是
VARCHAR
,但如果
过程
返回不同的类型,则会相应更改

看一看,因为有很好的样品


注意:若要将其与SOAPUI一起使用,请记住将数据库供应商特定的库放在
$SOAPUI\u HOME/bin/ext
文件夹中,然后重新启动SOAPUI以加载DB.jar。

请检查链接,看看是否有帮助。@ahs您可以共享存储过程吗?