ALTER ROUTINE — изменение определения подпрограммы
ALTER ROUTINEname[ ( [ [argmode] [argname]argtype[, ...] ] ) ]action[ ... ] [ RESTRICT ] ALTER ROUTINEname[ ( [ [argmode] [argname]argtype[, ...] ] ) ] RENAME TOnew_nameALTER ROUTINEname[ ( [ [argmode] [argname]argtype[, ...] ] ) ] OWNER TO {new_owner| CURRENT_ROLE | CURRENT_USER | SESSION_USER } ALTER ROUTINEname[ ( [ [argmode] [argname]argtype[, ...] ] ) ] SET SCHEMAnew_schemaALTER ROUTINEname[ ( [ [argmode] [argname]argtype[, ...] ] ) ] [ NO ] DEPENDS ON EXTENSIONextension_nameгдеactionможет быть одним из: IMMUTABLE | STABLE | VOLATILE [ NOT ] LEAKPROOF [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER PARALLEL { UNSAFE | RESTRICTED | SAFE } COSTexecution_costROWSresult_rowsSETconfiguration_parameter{ TO | = } {value| DEFAULT } SETconfiguration_parameterFROM CURRENT RESETconfiguration_parameterRESET 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. Возможность ссылаться на агрегатные функции
с помощью имени подпрограммы является расширением
Digital Q.DataBase.
Обратите внимание, что команды CREATE ROUTINE не существует.