1

この例に従って、groovy を使用してプロシージャからパラメーターを呼び出して返します: http://groovy.codehaus.org/Database+features

セクションストアドプロシージャのサポートでは、アウトプロシージャを呼び出す方法の例はありませんこれを試してみましたが、出力はまだnullです

sql.call(GString.EMPTY +  "{call " + schema + "." + name + "($par1,$par2)}"){ output ->  println output }

アップデート:

私の場合、par1 == null の場合、新しいエントリが必要になるため (これが「in our parameter」の理由です)、次のようなものを作成しました。

    if (par1 == null) {
        sql.call(GString.EMPTY +  "{call " + schema + "." + name + "(${Sql.VARCHAR},$par2)}"){  output_par1 -> println "par1: " + output_par1  }
    } else {
        sql.call(GString.EMPTY +  "{call " + schema + "." + name + "($par1,$par2)}"){}
        println "par1: " + par1
    }

したがって、par1 が null の場合、プロシージャは新しい値を生成し、次に println であり、par1 が null でない場合は、それを println するだけです。これは私にとってはうまくいきますが、誰かが null ではない out パラメータを返したい場合、それを書く方法はまだわかりません。

アップデート

本当に何も?賞金で7日後?たぶんもっとポイントを追加する必要があります

4

1 に答える 1

0

問題は別のところにあります。ここに構文エラーがあります:

sql.call(GString.EMPTY +  "{call " + schema + "." + name + "($par1,$par2)}")

{ の前に $ がないため、文字列内の呼び出しは実行されません。それどころか、パラメータの前に無意味な $ があります。

sql.call(GString.EMPTY +  "${call " + schema + "." + name + "(par1,par2)}")

正しい。

他のコード行と同じです。

于 2015-10-23T22:50:14.110 に答える