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
нет.