CREATE FUNCTIONとREPLACE FUNCTION(外部形式) - Teradata Database - Teradata Vantage NewSQL Engine - CREATE FUNCTIONとREPLACE FUNCTION(外部形式)のSQL文。

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/wkf1512081455740.ditamap
dita:ditavalPath
ja-JP/wkf1512081455740.ditaval
dita:id
B035-1144
Product Category
Software
Teradata Vantage

目的

外部UDFをコンパイルおよびインストールし、そのUDFの呼び出しに使用するSQL関数定義を作成または置換します。

必要な権限

CREATE FUNCTIONとREPLACE FUNCTIONの実行に必要な権限は次のように異なります。
  • CREATE FUNCTIONリクエストを実行するには、関数を保存するデータベース(UDTに関連したUDFの場合はSYSUDTLIBを含む)に対して明示的なCREATE FUNCTION権限が必要です。

    データベースまたはユーザーの作成時に、システムが自動的にCREATE FUNCTION権限を付与することはありません。その権限は明示的に付与する必要があります。

    データベースまたはユーザーに対して明示的なWITH GRANT OPTION権限を定義しない限り、そのデータベースまたはユーザーが所有するデータベースおよび関数に対してCREATE FUNCTIONが暗黙的に付与されることはありません。

  • 既存の関数に対してREPLACE FUNCTION文を実行するには、関数または関数が含まれるデータベースに対して明示的なDROP FUNCTION権限が必要です。関数を置換する場合、CREATE FUNCTION権限は必要ありません。
  • CREATE FUNCTION文を実行するには、関数を保存するデータベースに対して明示的なCREATE FUNCTION権限が必要です。
  • 関数の作成者でない場合は、SYSLIBデータベースから実行するすべてのUDFに対するEXECUTE FUNCTION権限が必要になります。

    関数の作成者には、そのUDFに対するEXECUTE FUNCTION権限が自動的に与えられます。

UDTが入力パラメータとして、または関数の結果として指定される場合、現行ユーザーには次の権限のいずれかが必要です。
  • SYSUDTLIBデータベースに対するUDTUSAGE権限。
  • 指定されたUDTに対するUDTUSAGE権限。

テーブルの行にセキュリティ ポリシーを適用するために関数を使用する場合、その関数の目的がテーブルの行の削除、挿入、選択、更新でなければ、その関数を実行するために、OVERRIDE DELETE CONSTRAINT、OVERRIDE INSERT CONSTRAINT、OVERRIDE SELECT CONSTRAINT、OVERRIDE UPDATE CONSTRAINTのいずれか該当する権限が必要になります。その関数を呼び出すリクエストに、ターゲットのテーブルの行の制約列に割り当てる値を組み込むことも必要です。

自動的に与えられる権限

次の権限が、外部関数の作成者に自動的に与えられます。
  • DROP FUNCTION
  • EXECUTE FUNCTION

構文