Быстрый старт
Развертывание
Моделирование данных
Подключение
Запись данных
Миграция
Запросы
Операции и обслуживание
Типовое обслуживание
Секционирование
Резервное копирование и восстановление
Масштабирование
Мониторинг
Настройка производительности
Устранение неполадок
Справочник
Руководство по инструментам
Типы данных
Хранилище данных
Выполняющая система
Конфигурация
Справочник по 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 является необязательным.