17.05 - CREATE PROCEDUREおよびREPLACE PROCEDURE (外部形式) - 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
日本語 (日本)

外部形式のSQLプロシージャ ルーチンをコンパイルしてインストールし、プロシージャの呼び出しに使用されるSQL定義を作成または置換します。

ANSI準拠

この文はANSI SQL:2011に準拠していますが、非ANSI Teradata拡張機能を含みます。

必要な権限

CREATE PROCEDURE(外部形式)とREPLACE PROCEDUREの実行に必要な権限は異なります。
  • CREATE PROCEDURE (外部形式)リクエストを実行するには、外部プロシージャを保存するデータベースに対して明示的なCREATE EXTERNAL PROCEDURE権限が必要です。

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

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

    詳細については、CREATE AUTHORIZATIONおよびREPLACE AUTHORIZATIONを参照してください。

  • 既存の外部プロシージャに対してREPLACE PROCEDURE文を実行するには、外部プロシージャまたは外部プロシージャが含まれるデータベースに対して明示的なDROP PROCEDURE権限が必要です。外部プロシージャを置換する場合、CREATE EXTERNAL PROCEDURE権限は必要ありません。
  • REPLACE PROCEDURE文を実行して新しい外部プロシージャを作成するには、外部プロシージャを保存するデータベースに対して明示的なCREATE EXTERNAL PROCEDURE権限が必要です。
パラメータ型がUDTか、またはUDT構成要素の型を含むArray/Varrayの場合、以下の権限の少なくとも1つが必要です。
  • 指定されたUDTに対するUDTUSAGE権限。
  • SYSUDTLIBデータベースに対するUDTUSAGE権限。
  • SYSUDTLIBデータベースに対するUDTTYPE権限。

SQL SECURITY句の使用方法の詳細について、CREATE PROCEDUREおよびREPLACE PROCEDURE(SQL形式)を参照してください。

自動的に与えられる権限

新しいプロシージャを作成した場合、Vantageは自動的に以下の権限を与えます。
  • DROP PROCEDURE
  • EXECUTE PROCEDURE