外部形式の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