DROP PROCEDURE
DROP PROCEDURE — удалить процедуру
Синтаксис
DROP PROCEDURE [ IF EXISTS ] имя [ ( [ [ режим_аргумента ] [ имя_аргумента ] тип_аргумента [, ...] ] ) ] [, ...]
[ CASCADE | RESTRICT ]
Описание
Команда DROP PROCEDURE
удаляет определение существующей процедуры. Для
выполнения этой команды нужно быть владельцем соответствующей процедуры.
Должны быть указаны типы аргументов процедуры, так как может существовать несколько
различных процедур с одинаковыми именами и разными списками аргументов.
Параметры
IF EXISTS
Не считать ошибкой, если процедура не существует. В этом случае будет выдано соответствующее уведомление.
имя
Имя существующей процедуры (может быть дополнено схемой). Если список аргументов не указан, имя должно быть уникальным в своей схеме.
режим_аргумента
Режим аргумента: IN или VARIADIC. Значение по умолчанию равно IN.
имя_аргумента
Имя аргумента. Обратите внимание, что команда DROP PROCEDURE
фактически
не обращает внимания на имена аргументов, поскольку для
идентификации процедуры необходимы только типы данных ее аргументов.
тип_аргумента
Тип(ы) данных аргументов процедуры (могут быть дополнены схемой), если таковые имеются.
CASCADE
Автоматически удалять объекты, зависящие от процедуры, и в свою очередь все объекты, зависящие от этих объектов (см. раздел Отслеживание зависимостей).
RESTRICT
Запретить удалять процедуру, если от нее зависят какие-либо объекты. Это поведение по умолчанию.
Примеры
DROP PROCEDURE do_db_maintenance();
Совместимость
Команда DROP PROCEDURE
соответствует стандарту SQL и имеет следующие расширения
QHB:
-
Стандарт позволяет удалить командой только одну процедуру.
-
Параметр IF EXISTS
-
Возможность задавать режимы и имена аргументов
См. также
CREATE PROCEDURE, ALTER PROCEDURE, DROP FUNCTION, DROP ROUTINE