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