ALTER ROUTINE#
ALTER ROUTINE
ALTER ROUTINE — изменить определение процедуры
Синтаксис
ALTER ROUTINEname
[ ( [ [argmode
] [argname
]argtype
[, ...] ] ) ]action
[ ... ] [ RESTRICT ] ALTER ROUTINEname
[ ( [ [argmode
] [argname
]argtype
[, ...] ] ) ] RENAME TOnew_name
ALTER ROUTINEname
[ ( [ [argmode
] [argname
]argtype
[, ...] ] ) ] OWNER TO {new_owner
| CURRENT_ROLE | CURRENT_USER | SESSION_USER } ALTER ROUTINEname
[ ( [ [argmode
] [argname
]argtype
[, ...] ] ) ] SET SCHEMAnew_schema
ALTER ROUTINEname
[ ( [ [argmode
] [argname
]argtype
[, ...] ] ) ] [ NO ] DEPENDS ON EXTENSIONextension_name
whereaction
is one of: IMMUTABLE | STABLE | VOLATILE [ NOT ] LEAKPROOF [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER PARALLEL { UNSAFE | RESTRICTED | SAFE } COSTexecution_cost
ROWSresult_rows
SETconfiguration_parameter
{ TO | = } {value
| DEFAULT } SETconfiguration_parameter
FROM CURRENT RESETconfiguration_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 BE.
См. также
ALTER AGGREGATE, ALTER FUNCTION, ALTER PROCEDURE, DROP ROUTINE
Обратите внимание, что команда CREATE ROUTINE
отсутствует.