ALTER ROUTINE — 更改例程的定義
ALTER ROUTINEname
[ ( [ [argmode
] [argname
]argtype
[, ...] ] ) ]action
[ ... ] [ RESTRICT ] ALTER ROUTINEname
[ ( [ [argmode
] [argname
]argtype
[, ...] ] ) ] RENAME TOnew_name
ALTER ROUTINEname
[ ( [ [argmode
] [argname
]argtype
[, ...] ] ) ] OWNER TO {new_owner
| CURRENT_ROLE | CURRENT_USER | SESSION_USER } ALTER ROUTINEname
[ ( [ [argmode
] [argname
]argtype
[, ...] ] ) ] SET SCHEMAnew_schema
ALTER ROUTINEname
[ ( [ [argmode
] [argname
]argtype
[, ...] ] ) ] [ NO ] DEPENDS ON EXTENSIONextension_name
whereaction
is one of: IMMUTABLE | STABLE | VOLATILE [ NOT ] LEAKPROOF [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER PARALLEL { UNSAFE | RESTRICTED | SAFE } COSTexecution_cost
ROWSresult_rows
SETconfiguration_parameter
{ TO | = } {value
| DEFAULT } SETconfiguration_parameter
FROM CURRENT RESETconfiguration_parameter
RESET ALL
ALTER ROUTINE
更改例程的定義,例程可以是聚集函式、普通函式或過程。有關引數、更多示例和詳細資訊的描述,請參閱 ALTER AGGREGATE、ALTER FUNCTION 和 ALTER PROCEDURE。
將型別為 integer
的例程 foo
重新命名為 foobar
ALTER ROUTINE foo(integer) RENAME TO foobar;
無論 foo
是聚集函式、函式還是過程,此命令都有效。
此語句與 SQL 標準中的 ALTER ROUTINE
語句部分相容。有關更多詳細資訊,請參閱 ALTER FUNCTION 和 ALTER PROCEDURE。允許例程名稱引用聚集函式是 PostgreSQL 的擴充套件。
如果您在文件中發現任何不正確、與您使用特定功能時的體驗不符或需要進一步澄清的內容,請使用 此表單 報告文件問題。