ユーザー定義関数(UDF) - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ NewSQL Engineセキュリティ管理

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/rmm1512082852218.ditamap
dita:ditavalPath
ja-JP/rmm1512082852218.ditaval
dita:id
B035-1100
Product Category
Software
Teradata Vantage
目的 必要なユーザー権限
SYSUDTLIBデータベースからUDFを呼び出す関数を作成する 保存先のデータベースとSYSUDTLIBデータベースに対するCREATE FUNCTION権限

ユーザーにデータベースに対するCREATE FUNCTION権限を付与した場合は、そのユーザーが作成した関数にDROP FUNCTION、EXECUTE FUNCTION、およびWITH GRANT OPTIONが自動的に付与されます。

  • 関数の実行モードを変更する
  • 関数を再コンパイルまたは再リンクする
ALTER FUNCTION権限

保護モードで動作するUDFは、"tdatuser"という名前のユーザーとして動作するために作成されたプロセス内で動作します。このユーザーには、特殊なオペレーティング システム権限はありません。サイトに必要なシステム リソースに対するアクセス権限を設定することによって、"tdatuser"にアクセス権を付与するリソースを決定するのはサイトの責任です。

EXECUTE NOT PROTECTEDが指定され、動作中の関数に障害が発生した場合は、データベースを再始動できます。
SHOW FUNCTION文を使用して、CREATE/REPLACE FUNCTIONテキストとソース コードを表示する CREATE/REPLACE FUNCTIONテキストを表示するための関数またはその関数を含むデータベースに対する1つ以上の権限

ユーザーがDROP FUNCTION権限を持っている場合は、SHOW FUNCTION文によってもCソースが表示されます。

UDFを削除する 関数あるいはそれを含むデータベースまたはユーザーに対するDROP FUNCTION
関数を実行する データベースまたは特定の関数に対するEXECUTE FUNCTION権限

特定のユーザー定義関数を実行するためのユーザー権限を付与するには、次の文を実行します。

GRANT EXECUTE ON SPECIFIC FUNCTION  function_name  TO  username;

データベース内のすべてのUDFに対する実行権限を付与する手順

GRANT EXECUTE FUNCTION ON  dbname  TO  username;
HELP FUNCTIONを使用して以下を取得する。
  • 関数名
  • パラメータのリスト
  • パラメータのデータ型
  • 関数が文字とグラフィック データのどちらを圧縮/圧縮解除するために使用されるかどうか
  • SQL、スカラー、集約、およびテーブル関数のパラメータに関連付けられたコメント
関数または関数を含むデータベースに対する1つ以上の権限
関数の名前を変更する 関数またはそれを含むデータベースに対するDROP FUNCTION権限と、関数を含むデータベースに対するCREATE FUNCTION権限
既存の関数を置換する 関数または関数を含むデータベースに対するDROP FUNCTION権限
UDTを入力パラメータまたは関数結果として指定する場合は、現在のユーザーが以下の権限のいずれかを持っている必要があります。
  • SYSUDTLIBデータベースに対するUDTUSAGE
  • 指定されたUDTに対するUDTUSAGE

UDFの作成の詳細については、<Teradata Vantage™ SQL外部ルーチン プログラミング、B035-1147>を参照してください。