ALTER PROCEDURE
プロシージャ名または所有者を変更します。プロシージャとデータタイプ (署名) の両方が必要です。所有者またはスーパーユーザーのみがプロシージャ名を変更できます。スーパーユーザーのみがプロシージャの所有者を変更できます。
構文
ALTER PROCEDURE sp_name [ ( [ [ argname ] [ argmode ] argtype [, ...] ] ) ] RENAME TO new_name
ALTER PROCEDURE sp_name [ ( [ [ argname ] [ argmode ] argtype [, ...] ] ) ] OWNER TO { new_owner | CURRENT_USER | SESSION_USER }
パラメータ
- sp_name
-
変更するプロシージャ名。プロシージャ名のみを現在の検索パスに指定するか、
schema_name.sp_procedure_name
形式で特定のスキーマを使用します。 - [argname] [argmode] argtype
-
引数の名前、モード、およびデータタイプのリスト。入力データタイプのみが必須です。これは、ストアドプロシージャの識別に使用されます。または、入力パラメータと出力パラメータをモードと共に含めて、プロシージャを作成するために使用する完全な署名を指定することもできます。
- new_name
-
ストアドプロシージャの新しい名前。
- new_owner | CURRENT_USER | SESSION_USER
-
ストアドプロシージャの新しい所有者。
例
次の例では、プロシージャ名を first_quarter_revenue
から quarterly_revenue
に変更します。
ALTER PROCEDURE first_quarter_revenue(volume INOUT bigint, at_price IN numeric, result OUT int) RENAME TO quarterly_revenue;
この例は以下と同等です。
ALTER PROCEDURE first_quarter_revenue(bigint, numeric) RENAME TO quarterly_revenue;
次の例では、プロシージャの所有者を etl_user
に変更します。
ALTER PROCEDURE quarterly_revenue(bigint, numeric) OWNER TO etl_user;