関数の特定の名前。この句はオーバーロード関数の名前では必須ですが、その他の場合は任意指定であり、関数定義ごとに1回だけ指定できます。
データベース オブジェクトの命名ルールについては、<Teradata Vantage™ - SQLの基本、B035-1141>を参照してください。
名前にマルチバイト文字を含むオブジェクトがデータベースのUDFライブラリにある場合、新規オブジェクト名に1バイト文字のみが含まれる場合でも、シングルバイトのセッション文字セットを使用して、新たなUDF、UDT、メソッド、またはJavaストアド プロシージャのオブジェクトを作成することはできません。作成しようとすると、システムは要求元にエラーを返します。代わりにマルチバイトのセッション文字セットを使用します。
- database_name_2
- オプションのデータベース名。
- specific_function_name
- specific_function_nameを使用してCまたはC++関数名を識別する場合は、C言語またはC++言語の識別子命名規則に従ってください。Java関数用のJava言語の命名規則についても同様です。
- function_nameとは異なり、関数、メソッド、またはUDTの特定名は名前の重複を回避するためにそのデータベース内で固有でなければなりません。この名前はDBC.TVMに、UDFデータベース オブジェクトの名前として保存されます。
- CLASS
- 定義する関数のクラス。
- 関数のクラスがスカラーの場合は、キーワードを指定しないでください。
- 行レベル セキュリティ ポリシーUDFはすべて、スカラー関数でなければなりません。
- AGGREGATE
- AG
- 関数クラスは集約です。
- スカラー関数には、この句を指定しないでください。
- この句は任意指定であり、関数定義ごとに1回だけ指定できます。
- interim_size
- 集約UDFに割り当てる集約キャッシュのサイズ。
- 最小値は1バイトです。
- 最大値は64,000バイトです。
- デフォルト値は64バイトです。
- PARAMETER STYLE
- 関数にパラメータを渡すときに使用するパラメータの受け渡し表記。
- 指定するパラメータ形式は、外部関数のパラメータを渡すための表記と一致していなければなりません。
- この時点でパラメータ形式を指定しない場合は、パラメータ形式を外部本体の参照と共に指定できます。
- 同じCREATE/REPLACE FUNCTIONリクエストで複数のパラメータ形式を指定することはできません。
- この句は任意指定であり、関数定義ごとに1回だけ指定できます。
- UDFパラメータ形式の詳細については、Teradata Vantage™ - SQLデータ定義言語 - 詳細トピック、B035-1184のCREATE FUNCTION(外部形式)を参照してください。
- SQL
- 標識変数を使用して引数を渡します。
- その結果、NULLを入力として渡して結果として返すことが常に可能になります。
- SQLがデフォルトのパラメータ形式です。
- TD_GENERAL
- パラメータを使用して引数を渡します。
- NULLを渡すことも返すこともできません。
- JAVA
- すべてのJava関数で必須です。
- DETERMINISTIC
- 関数が同一の入力に対して同一の結果を返すことを指定します。
- DETERMINISTICとNOT DETERMINISTICは任意指定で、関数定義ごとに1回だけ指定できます。
- NOT DETERMINISTIC
- 関数が同一の入力に対して常に同一の結果を返すとは限らないことを指定します。
- 例えば、関数が処理の一部として乱数生成機能を呼び出す場合、関数呼び出しの結果は呼び出す前に判明しないので、その関数はNOT DETERMINISTICになります。
- デフォルト値はNOT DETERMINISTICです。
- CALLED ON NULL INPUT
- 関数の呼び出し時にパラメータがNULLであってもなくても、関数を常に評価します。
- 関数のPARAMETER STYLEがTD_GENERALであれば、NULLの場合に例外条件が生成されます。
- この句は任意指定であり、関数定義ごとに1回だけ指定できます。
- デフォルト値はCALLED ON NULL INPUTです。
- RETURNS NULL ON NULL INPUT
- 関数の呼び出し時にいずれかのパラメータがNULLである場合、関数を評価せずにNULLの結果を返します。
- 集約関数では、このオプションを指定できません。
- この句は任意指定であり、関数定義ごとに1回だけ指定できます。
- デフォルト値はCALLED ON NULL INPUTです。