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