ALTER ROUTINE

ALTER ROUTINE — изменить определение подпрограммы


Синтаксис

ALTER ROUTINE имя [ ( [ [ режим_аргумента ] [ имя_аргумента ] тип_аргумента [, ...] ] ) ] действие [ ... ] [ RESTRICT ] ALTER ROUTINE имя [ ( [ [ режим_аргумента ] [ имя_аргумента ] тип_аргумента [, ...] ] ) ] RENAME TO новое_имя ALTER ROUTINE имя [ ( [ [ режим_аргумента ] [ имя_аргумента ] тип_аргумента [, ...] ] ) ] OWNER TO { новый_владелец | CURRENT_ROLE | CURRENT_USER | SESSION_USER } ALTER ROUTINE имя [ ( [ [ режим_аргумента ] [ имя_аргумента ] тип_аргумента [, ...] ] ) ] SET SCHEMA новая_схема ALTER ROUTINE имя [ ( [ [ режим_аргумента ] [ имя_аргумента ] тип_аргумента [, ...] ] ) ] [ NO ] DEPENDS ON EXTENSION имя_расширения Где действие может быть следующим: IMMUTABLE | STABLE | VOLATILE [ NOT ] LEAKPROOF [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER PARALLEL { UNSAFE | RESTRICTED | SAFE } COST стоимость_выполнения ROWS строк_в_результате SET параметр_конфигурации { TO | = } { значение | DEFAULT } SET параметр_конфигурации FROM CURRENT RESET параметр_конфигурации RESET ALL

Описание

Команда ALTER ROUTINE изменяет определение подпрограммы, которая может быть агрегатной функцией, обычной функцией или процедурой. Описание параметров, дополнительные примеры и сведения см. на справочных страницах команд ALTER AGGREGATE, ALTER FUNCTION и ALTER PROCEDURE.


Примеры

Переименование подпрограммы foo для типа integer в foobar:

ALTER ROUTINE foo(integer) RENAME TO foobar;

Эта команда будет работать независимо от того, является ли foo агрегатом, функцией или процедурой.


Совместимость

Эта команда частично совместима с командой ALTER ROUTINE в стандарте SQL. Дополнительную информацию см. на справочных страницах команд ALTER FUNCTION и ALTER PROCEDURE. Возможность сослаться по имени подпрограммы на агрегатную функцию является расширением QHB.


См. также

ALTER AGGREGATE, ALTER FUNCTION, ALTER PROCEDURE, DROP ROUTINE
Обратите внимание, что команды CREATE ROUTINE нет.