CALL

構文
>>--EXEC SQL--.-----------------.--.----------------.->
              +-FOR :row_count--+  +- :result_hvar -+

 >---CALL stored_procedure_name-.------------.-END-EXEC-><
                                | +-- , --+  |
                                | V       |  |
                                +(parameter)-+
パラメタ
:row_count 整数型のホスト変数を指定します。結果およびパラメータのホスト変数がすべて同じサイズの配列で、 すべての要素を使用するわけではない場合には、使用する行数を指定します。CALL が DECLARE CURSOR 文の一部である場合は、FOR 句を使用することはできません。
:result_hvar 手続きの結果を受け取るホスト変数を指定します。
stored_procedure_name ストアドプロシージャの名前を指定します。
parameter 次の形式のリテラル、キーワード CURSOR、またはホスト変数パラメータを指定します。

[keyword=] :param_hvar [IN | INPUT | INOUT | OUT | OUTPUT]

ここで、

keyword は、キーワードパラメータ用の正式なパラメータです。

:param_hvar は、ホスト変数です。

IN には、入力パラメータを指定します。

INPUT には、入力パラメータを指定します。

INOUT には、入力/出力パラメータを指定します。

OUT には、出力パラメータを指定します。

OUTPUT には、出力パラメータを指定します。

CURSOR は、結果セットを返す Oracle 8 以降のストアドプロシージャに対してのみ使用されます。 CURSOR を使用すると、対応するパラメータがアンバウンドされます。

ストアドプロシージャの詳細については、:

OpenESQL ストアドプロシージャを参照してください。

目的

CALL 文を使用してストアドプロシージャを実行します。

例:
   EXEC SQL
      CALL myProc(param1,param2)
   END-EXEC

   EXEC SQL
      :myResult = CALL myFunction(namedParam=:paramValue)
   END-EXEC

   EXEC SQL
      CALL getDept(:empName IN, :deptName OUT)
   END-EXEC

   EXEC SQL
      DECLARE cities CURSOR FOR CALL locateStores(:userState)
   END-EXEC
他参照:

関連項目