ALTER ROUTINE#

ALTER ROUTINE

ALTER ROUTINE

ALTER ROUTINE — изменить определение процедуры

Синтаксис

ALTER ROUTINE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
    action [ ... ] [ RESTRICT ]
ALTER ROUTINE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
    RENAME TO new_name
ALTER ROUTINE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
    OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
ALTER ROUTINE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
    SET SCHEMA new_schema
ALTER ROUTINE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
    [ NO ] DEPENDS ON EXTENSION extension_name

where action is one of:

    IMMUTABLE | STABLE | VOLATILE
    [ NOT ] LEAKPROOF
    [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER
    PARALLEL { UNSAFE | RESTRICTED | SAFE }
    COST execution_cost
    ROWS result_rows
    SET configuration_parameter { TO | = } { value | DEFAULT }
    SET configuration_parameter FROM CURRENT
    RESET configuration_parameter
    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 для получения дополнительной информации. Разрешение использовать имена процедур для ссылки на агрегатные функции является расширением Tantor SE.

См. также

ALTER AGGREGATE, ALTER FUNCTION, ALTER PROCEDURE, DROP ROUTINE

Обратите внимание, что команда CREATE ROUTINE отсутствует.