関数名は、特定関数名、外部関数名、関数エントリ ポイント名とは異なります。関数名、FUNCTION CLASS句、EXTERNAL NAME句、および UDFデフォルト ロケーション パス を参照してください。
以下の表に、それぞれの関数識別子の違いを簡単にまとめます。
関数識別子 | 構文変数名 | 定義 |
---|---|---|
関数名 | function_name | SQL文から関数を呼び出すために使用する識別子。 特定名が関数に割り当てられていない場合、データ ディクショナリに保存される名前はfunction_nameです。 関数に特定名が割り当てられている場合、function_nameはディクショナリが関数をデータベース オブジェクトとして識別するための名前ではないので、データベース内で固有である必要はありません。 |
特定関数名 | specific_function_name | ディクショナリ テーブルDBC.TVM内で関数をデータベース オブジェクトとして定義するために使用する識別子。 |
外部関数名 | external_function_name | CまたはC++外部ルーチンの外部関数名は、以下の2つの方法で表現できます。
LANGUAGE句でJAVAを指定するときには、Java外部ルーチンに外部関数名が必須になります。 この場合、external_function_nameは外部Java参照文字列として参照されます。 外部Java参照文字列は、JARファイル、JAR内のJavaクラス、およびJava UDFが実行されるときに呼び出されるクラス内のJavaメソッドを指定します。
例えば、salesreportsというIDでデータベースに登録されたJARファイルの場合、JAR内のクラスにはformalという名前が付き、クラス内の呼び出されるメソッドはmonthendという名前で、文字列salesreports:formal.monthendは、Java UDFが実行されるときに呼び出しを実行するメソッドを詳細に定義します。 |
関数エントリ ポイント名 | function_entry_point_name | 関数のエントリ ポイント名の定義に使用する識別子。 関数エントリ ポイント名が関数に定義された関数名または特定関数名と異なる場合、関数エントリ ポイント名を指定する必要があります。 function_entry_ point_nameをCREATE FUNCTIONまたはREPLACE FUNCTIONのEXTERNAL句で複数指定することはできません。 |