Поделиться через


DROP PROCEDURE (Transact-SQL)

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure конечной точке аналитики платформы Аналитики Azure Synapse Analytics (PDW) в Microsoft Fabric Хранилище в Microsoft Fabric

Удаляет одну или несколько хранимых процедур или групп процедур из текущей базы данных в SQL Server.

Соглашения о синтаксисе Transact-SQL

Синтаксис

Синтаксис SQL Server, Управляемый экземпляр SQL Azure и База данных SQL Azure:

DROP { PROC | PROCEDURE } [ IF EXISTS ] { [ schema_name. ] procedure } [ , ...n ]

Синтаксис Для Azure Synapse Analytics, системы платформы аналитики (PDW) и Microsoft Fabric:

DROP { PROC | PROCEDURE } { [ schema_name. ] procedure_name }

Аргументы

IF EXISTS

Область применения: SQL Server 2016 (13.x) и более поздних версий, Управляемый экземпляр SQL Azure и База данных SQL Azure

Условное удаление процедуры только в том случае, если она уже существует.

schema_name

Имя схемы, которой принадлежит процедура. Невозможно указать имя сервера или имя базы данных.

procedure

Имя удаляемой хранимой процедуры или группы хранимых процедур. Отдельные процедуры в нумерованной группе процедур не могут быть удалены; Удаляется вся группа процедур.

Рекомендации

Перед удалением хранимой процедуры проверьте зависимые объекты и измените эти объекты соответствующим образом. Удаление хранимой процедуры может привести к сбою зависимых объектов и скриптов, когда эти объекты не обновляются. Дополнительные сведения см. в статье Просмотр зависимостей хранимой процедуры.

Метаданные

Чтобы отобразить список существующих процедур, выполните запрос к представлению sys.objects каталога. Чтобы отобразить определение процедуры, выполните запрос к представлению sys.sql_modules каталога.

Разрешения

Требуется CONTROL разрешение на процедуру или ALTER разрешение на схему, к которой принадлежит процедура, или членство в предопределенных роли сервера db_ddladmin .

Примеры

В следующем примере хранимая процедура dbo.uspMyProc удаляется из текущей базы данных.

DROP PROCEDURE dbo.uspMyProc;
GO

В следующем примере из текущей базы данных удаляются несколько хранимых процедур.

DROP PROCEDURE
    dbo.uspGetSalesbyMonth,
    dbo.uspUpdateSalesQuotes,
    dbo.uspGetSalesByYear;

В следующем примере удаляется dbo.uspMyProc хранимая процедура, если она существует, но не вызывает ошибку, если процедура не существует. Этот синтаксис был представлен в SQL Server 2016 (13.x).

DROP PROCEDURE IF EXISTS dbo.uspMyProc;
GO