Быстрый старт
Развертывание
Моделирование данных
Подключение
Запись данных
Миграция
Запросы
Операции и обслуживание
Типовое обслуживание
Секционирование
Резервное копирование и восстановление
Масштабирование
Мониторинг
Настройка производительности
Устранение неполадок
Справочник
Руководство по инструментам
Типы данных
Хранилище данных
Выполняющая система
Потоковая передача
Восстановление после сбоев
Конфигурация
Индексы
Расширения
Справочник по SQL
Часто задаваемые вопросы
Изменение определения функции.
ALTER FUNCTION name ( [ [argmode] [argname] argtype [, ...] ] )
action [, ... ] [RESTRICT]
ALTER FUNCTION name ( [ [argmode] [argname] argtype [, ...] ] )
RENAME TO new_name
ALTER FUNCTION name ( [ [argmode] [argname] argtype [, ...] ] )
OWNER TO new_owner
ALTER FUNCTION name ( [ [argmode] [argname] argtype [, ...] ] )
SET SCHEMA new_schema
Где action:
{CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT}
{IMMUTABLE | STABLE | VOLATILE | [ NOT ] LEAKPROOF}
{[EXTERNAL] SECURITY INVOKER | [EXTERNAL] SECURITY DEFINER}
EXECUTE ON { ANY | MASTER | ALL SEGMENTS | INITPLAN }
COST execution_cost
SET configuration_parameter { TO | = } { value | DEFAULT }
SET configuration_parameter FROM CURRENT
RESET configuration_parameter
RESET ALL
ALTER FUNCTION изменяет определение функции.
Чтобы использовать команду ALTER FUNCTION, вы должны быть владельцем функции. Чтобы изменить схему функции, вы также должны иметь разрешение CREATE в новой схеме. Чтобы изменить владельца, вы должны быть прямым или косвенным членом новой роли, и эта роль должна обладать правом CREATE в режиме функции. Эти ограничения гарантируют, что изменения владельца не позволят делать ничего такого, что нельзя сделать путём удаления и повторного создания функции. Однако суперпользователи могут изменять владельца любой функции.
name
argmode
argname
argtype
new_name
new_owner
new_schema
CALLED ON NULL INPUT
RETURNS NULL ON NULL INPUT
STRICT
IMMUTABLE
STABLE
VOLATILE
[ EXTERNAL ] SECURITY INVOKER
[ EXTERNAL ] SECURITY DEFINER
LEAKPROOF
EXECUTE ON ANY
EXECUTE ON MASTER
EXECUTE ON ALL SEGMENTS
EXECUTE ON INITPLAN
COST execution_cost
configuration_parameter
value
RESTRICT
База данных YMatrix накладывает ограничения, такие как STABLE или VOLATILE, на определённые функции. Дополнительную информацию см. в описании команды CREATE FUNCTION.
Переименовать функцию sqrt целочисленного типа в square_root:
ALTER FUNCTION sqrt(integer) RENAME TO square_root;
Изменить владельца функции sqrt целочисленного типа на joe:
ALTER FUNCTION sqrt(integer) OWNER TO joe;
Изменить схему функции sqrt целочисленного типа на math:
ALTER FUNCTION sqrt(integer) SET SCHEMA math;
Настроить автоматический путь поиска функции:
ALTER FUNCTION check_password(text) RESET search_path;
Данная команда частично совместима с оператором ALTER FUNCTION стандарта SQL. Стандарт позволяет изменять больше свойств функции, но не предусматривает таких возможностей, как переименование функции, пометка функции как SECURITY DEFINER, привязка значений параметров конфигурации к функции или изменение владельца, схемы или степени стабильности функции. В стандарте также требуется ключевое слово RESTRICT, которое в базе данных YMatrix является необязательным.