17.05 - function_attribute - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 構文規則および例

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Release Date
2021年1月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-175K-JPN
Language
日本語 (日本)

関数の特定の名前。この句はオーバーロード関数の名前では必須ですが、その他の場合は任意指定であり、関数定義ごとに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です。