private static String XXX = "{call SP_XXX(?,?,?)}"
sql.call (XXX, [Sql.NUMERIC, Sql.NUMERIC,'SOME STRING'){
outPara1, outPara2 ->
log.info("${outPara1}, ${outPara2}")
}
Я могу успешно выполнить хранимую процедуру с указанным выше кодом.Вызовите хранимую процедуру SQL с именованным параметром в Groovy
Но, когда я использую именованные параметры вместо '?' заполнитель. Я получаю:
WARNING: Failed to execute: {call SP_XXX(:OUTP1, :OUTP2, :INP1)}
because: Invalid column type
Что изменилось в заменило '?' с ": OUTP1", "OUTP2" и ": INP1". И в выражении вызова, используя именованные параметры соответственно. Код после изменения:
private static String XXX = "{call SP_XXX(:OUTP1, :OUTP2, :INP1)}"
sql.call (XXX, [OUTP1: Sql.NUMERIC, OUTP2: Sql.NUMERIC, INP1: 'SOME STRING']){
outPara1, outPara2 ->
log.info("${outPara1}, ${outPara2}")
}
Был ли мой ответ полезным? – dmahapatro