DROP PROCEDURE (Transact-SQL)DROP PROCEDURE (Transact-SQL)

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server даБаза данных SQL Azure даAzure Synapse Analytics (хранилище данных SQL) даParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Удаляет одну или несколько хранимых процедур или групп процедур из текущей базы данных в SQL ServerSQL Server.Removes one or more stored procedures or procedure groups from the current database in SQL ServerSQL Server.

Значок ссылки на раздел Синтаксические обозначения в Transact-SQLTopic link icon Transact-SQL Syntax Conventions

СинтаксисSyntax

-- Syntax for SQL Server and Azure SQL Database  
  
DROP { PROC | PROCEDURE } [ IF EXISTS ] { [ schema_name. ] procedure } [ ,...n ]  
-- Syntax for Azure SQL Data Warehouse and Parallel Data Warehouse  
  
DROP { PROC | PROCEDURE } { [ schema_name. ] procedure_name }  

АргументыArguments

IF EXISTSIF EXISTS
Применимо к: SQL ServerSQL Server (начиная сSQL Server 2016 (13.x)SQL Server 2016 (13.x) до текущей версии).Applies to: SQL ServerSQL Server ( SQL Server 2016 (13.x)SQL Server 2016 (13.x) through current version).

Условное удаление процедуры только в том случае, если она уже существует.Conditionally drops the procedure only if it already exists.

schema_nameschema_name
Имя схемы, которой принадлежит процедура.The name of the schema to which the procedure belongs. Имя сервера или базы данных задавать нельзя.A server name or database name cannot be specified.

procedureprocedure
Имя удаляемой хранимой процедуры или группы хранимых процедур.The name of the stored procedure or stored procedure group to be removed. Нельзя удалить отдельные процедуры из группы пронумерованных процедур. Группа процедур удаляется полностью.Individual procedures within a numbered procedure group cannot be dropped; the whole procedure group is dropped.

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

Перед удалением хранимой процедуры проверьте зависимые объекты и измените эти объекты соответствующим образом.Before removing any stored procedure, check for dependent objects and modify these objects accordingly. Удаление хранимой процедуры может вызвать сбой зависимых процедур и скриптов, если эти объекты не обновлены.Dropping a stored procedure can cause dependent objects and scripts to fail when these objects are not updated. Дополнительные сведения см. в статье Просмотр зависимостей хранимой процедуры.For more information, see View the Dependencies of a Stored Procedure

МетаданныеMetadata

Для отображения списка существующих процедур запросите представление каталога sys.objects.To display a list of existing procedures, query the sys.objects catalog view. Для отображения определения процедуры выполните запрос к представлению каталога sys.sql_modules.To display the procedure definition, query the sys.sql_modules catalog view.

безопасностьSecurity

РазрешенияPermissions

Необходимо разрешение CONTROL для процедуры, разрешение ALTER для схемы, которой принадлежит процедура, либо членство в предопределенной роли сервера db_ddladmin.Requires CONTROL permission on the procedure, or ALTER permission on the schema to which the procedure belongs, or membership in the db_ddladmin fixed server role.

ПримерыExamples

В следующем примере хранимая процедура dbo.uspMyProc удаляется из текущей базы данных.The following example removes the dbo.uspMyProc stored procedure in the current database.

DROP PROCEDURE dbo.uspMyProc;  
GO  

В следующем примере из текущей базы данных удаляются несколько хранимых процедур.The following example removes several stored procedures in the current database.

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

В приведенном ниже примере удаляется хранимая процедура dbo.uspMyProc, если она существует, но если она не существует, ошибка не возникает.The following example removes the dbo.uspMyProc stored procedure if it exists but does not cause an error if the procedure does not exist. Этот синтаксис является новым в SQL Server 2016 (13.x)SQL Server 2016 (13.x).This syntax is new in SQL Server 2016 (13.x)SQL Server 2016 (13.x).

DROP PROCEDURE IF EXISTS dbo.uspMyProc;  
GO  

См. также:See Also

ALTER PROCEDURE (Transact-SQL) ALTER PROCEDURE (Transact-SQL)
CREATE PROCEDURE (Transact-SQL) CREATE PROCEDURE (Transact-SQL)
sys.objects (Transact-SQL) sys.objects (Transact-SQL)
sys.sql_modules (Transact-SQL) sys.sql_modules (Transact-SQL)
Удаление хранимой процедурыDelete a Stored Procedure