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