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
使用特定 schema。 - [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;