0
private static String XXX = "{call SP_XXX(?,?,?)}"
sql.call (XXX, [Sql.NUMERIC, Sql.NUMERIC,'SOME STRING'){
outPara1, outPara2 ->
log.info("${outPara1}, ${outPara2}")
}
我可以使用上面的代碼調用存儲過程。在Groovy中調用具有命名參數的SQL存儲過程
但是,當我使用命名參數,而不是'?'佔位符。 我得到:
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