DROP PROCEDURE

Удаляет процедуру.

Синтаксис

DROP PROCEDURE [IF EXISTS] name ( [ [argmode] [argname] argtype [, ...] ] )
    [CASCADE | RESTRICT]

Описание

DROP PROCEDURE удаляет определение существующей процедуры. Чтобы выполнить эту команду, пользователь должен быть владельцем процедуры. Типы аргументов процедуры должны быть указаны, поскольку может существовать несколько процедур с одинаковым именем, но различными списками аргументов.

Параметры

  • IF EXISTS
    • Не выдавать ошибку, если процедура не существует. В этом случае выводится предупреждение.
  • name
    • Имя (при необходимости с указанием схемы) существующей процедуры. Если список аргументов не указан, имя должно быть уникальным в своей схеме.
  • argmode
    • Режим аргумента: IN или VARIADIC. Если не указан, по умолчанию используется IN.
  • argname
    • Имя аргумента. Обратите внимание, что команда DROP PROCEDURE фактически не учитывает имена аргументов, поскольку для определения идентичности процедуры требуются только типы данных аргументов.
  • argtype
    • Тип(ы) данных аргументов процедуры (при необходимости с указанием схемы), если таковые имеются.
  • CASCADE
    • Автоматически удалять объекты, зависящие от процедуры, а также все объекты, зависящие от этих объектов.
  • RESTRICT
    • Отказаться от удаления процедуры, если на неё ссылаются другие объекты. Это поведение по умолчанию.

Примеры

Эта команда удаляет процедуру с именем do_db_maintenance:

DROP PROCEDURE do_db_maintenance();

Совместимость

Данная команда соответствует стандарту SQL с расширениями Database:

Стандарт разрешает удалять только одну процедуру за команду.

Наличие опции IF EXISTS.

Возможность указывать режимы и имена аргументов.

Смотрите также

CREATE PROCEDURE, ALTER PROCEDURE