ALTER ROUTINE
ALTER ROUTINE — изменить определение подпрограммы
Синтаксис
ALTER ROUTINEимя[ ( [ [режим_аргумента] [имя_аргумента]тип_аргумента[, ...] ] ) ]действие[ ... ] [ RESTRICT ] ALTER ROUTINEимя[ ( [ [режим_аргумента] [имя_аргумента]тип_аргумента[, ...] ] ) ] RENAME TOновое_имяALTER ROUTINEимя[ ( [ [режим_аргумента] [имя_аргумента]тип_аргумента[, ...] ] ) ] OWNER TO {новый_владелец| 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. Возможность сослаться по имени подпрограммы на агрегатную функцию является расширением Postgres Pro.
См. также
ALTER AGGREGATE, ALTER FUNCTION, ALTER PROCEDURE, DROP ROUTINEЗаметьте, что команды CREATE ROUTINE нет.