CALL ステートメントの構文およびパラメーターの詳細については、CALL ステートメントを参照してください。 CALL の使用例については、CREATE PROCEDURE ステートメントの例を参照してください。
ルーチンの定義に LANGUAGE 文節として ESQL が指定されているか、またはルーチンが組み込み関数の場合は、ルーチンは ESQL メソッドとして起動されます。
定義と CALL の間で、データ・タイプと個々のパラメーターの方向が正確な 1 対 1 マッチングになっていなければなりません。
ESQL ルーチンを使用して、List および Row 以外の ESQL データ・タイプを戻せます。
ルーチンの定義に LANGUAGE 文節として JAVA が指定されている場合は、ルーチンは Java メソッドとして起動されます。
定義と CALL の間で、データ・タイプと個々のパラメーターの方向が正確な 1 対 1 マッチングになっていなければなりません。
Java メソッドの戻りタイプが void の場合は、戻る値がないので、INTO 文節を使用できません。
Java ルーチンは、ESQL から Java へのデータ・タイプ・マッピングの表のデータ・タイプを戻せます。List と Row が除外されていることに注意してください。
ルーチンの定義に LANGUAGE 文節として DATABASE が指定されている場合は、ルーチンはデータベース・ストアード・プロシージャーとして起動されます。
データベース・ストアード・プロシージャーが呼び出されると、ブローカーはプロシージャーのローカル名と一致する定義 (CREATE PROCEDURE ステートメントで作成) を検索します。 ブローカーは以下の手順を使用して、データベース内およびそれが属するデータベース・スキーマでプロシージャーを認識するための名前を解決します。
呼び出されるルーチンの定義に DYNAMIC RESULT SETS が指定されている場合、CALL ステートメントの ParameterList 中の式の数はそのルーチンに対する実パラメーターの数と DYNAMIC RESULT SETS の数を加算した数値でなければなりません。例えば、ルーチンに 3 つのパラメーターと 2 つの DYNAMIC RESULT SETS がある場合、CALL ステートメントは呼び出されるルーチンにパラメーターを 5 つ渡さなければなりません。2 つの DYNAMIC RESULT SETS の場合、渡されるパラメーターは、リスト・パラメーターでなければなりません。つまり、配列大括弧 [ ] で修飾されたフィールド参照 (例えば、Environment.ResultSet1[]) でなければなりません。
データベース・ストアード・プロシージャーを使用して、Interval、List および Row 以外の ESQL データ・タイプを戻せます。