ストアドプロシージャの実行

入力、出力、入出力パラメータを組み合わせたストアドプロシージャを呼び出すことができます。次にいくつか例を見てみましょう。

<!-- invoke a procedure with input parameters -->
<db:stored-procedure config-ref="dbConfig">
    <db:sql>{ call updatePlanetDescription('Venus', :description) }</db:sql>
    <db:input-parameters>
        #[{'description' : payload}]
    </db:input-parameters>
</db:stored-procedure>

<!-- invoke a procedure with input-output parameters -->
<db:stored-procedure config-ref="dbConfig">
  <db:sql>{ call doubleMyInt(:myInt) }</db:sql>
  <db:in-out-parameters>
      <db:in-out-parameter key="myInt" value="3"/>
  </db:in-out-parameters>
</db:stored-procedure>

<!-- invoke a procedure with both input AND output parameters -->
<db:stored-procedure config-ref="dbConfig">
    <db:sql>{ call multiplyInts(:int1, :int2, :result1, :int3, :result2) }</db:sql>
    <db:input-parameters>
        #[{
            'int1' : 3,
            'int2' : 4,
            'int3' : 5
        }]
    </db:input-parameters>
    <db:output-parameters>
        <db:output-parameter key="result1" type="INTEGER"/>
        <db:output-parameter key="result2" type="INTEGER"/>
        <db:output-parameter key="myInt" type="INTEGER"/>
    </db:output-parameters>
</db:stored-procedure>

おわかりいただけたように、すべての組み合わせが可能です。

実行後、出力パラメータと入出力パラメータの結果の値は操作の結果内で利用できます。DataSense を活用すると、この値を容易に取得できます。
コネクタバージョン 1.4.0 以降では、ストアドプロシージャの名前と最初の括弧の間に 空白がない ことを確認してください。

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub