Db2 から外部関数へ引数を渡す
Db2® は、ユーザー定義関数 (UDF) に渡されるすべてのパラメーターのための記憶域を提供します。したがって、パラメーターは外部関数にアドレスで渡されます。
これは、プログラムでパラメーターを渡す通常の方法です。サービス・プログラムの場合は、関数コードの中でパラメーターが正しく定義されるようにしなければなりません。
UDF の中でパラメーターを定義し、使用する場合は、あるパラメーター用に定義されたよりも多くの記憶域が、そのパラメーターに対して参照されないように十分な注意が必要です。パラメーターはすべて同じ記憶スペースに格納されるので、あるパラメーターの記憶スペースを超えると、別のパラメーターの値を上書きすることになります。このことは、無効な入力データを関数が使用する原因になったり、データベースに戻される値が無効になる原因になります。
外部 UDF が使用できるいくつかのパラメーター・スタイルがサポートされています。 それぞれのスタイルの相違点は、外部プログラムまたはサービス・プログラムに渡されるパラメーターの数の相違です。