DROP PROCEDURE (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)Ponto de extremidade de SQL no Microsoft FabricWarehouse no Microsoft Fabric

Remove um ou mais procedimentos armazenados ou grupos de procedimentos do banco de dados atual no SQL Server.

Convenções de sintaxe de Transact-SQL

Sintaxe

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

Observação

Para ver a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.

Argumentos

IF EXISTS
Aplica-se a: SQL Server (SQL Server 2016 (13.x) até a versão atual).

Remove condicionalmente o procedimento somente se ele já existe.

schema_name
O nome do esquema ao qual o procedimento pertence. Não é possível especificar um nome de servidor ou de banco de dados.

procedure
O nome do procedimento armazenado ou grupo de procedimentos armazenados a ser removido. Não é possível descartar procedimentos individuais em um grupo de procedimentos numerados; todo o grupo de procedimentos é descartado.

Práticas Recomendadas

Antes de remover qualquer procedimento armazenado, verifique se há objetos dependentes e modifique esses objetos adequadamente. Descartar um procedimento armazenado pode gerar falha de objetos e scripts dependentes quando esses objetos não forem atualizados. Para obter mais informações, veja Exibir as dependências de um procedimento armazenado

Metadados

Para exibir uma lista de procedimentos existentes, veja a exibição de catálogo sys.objects. Para exibir a definição do procedimento, veja a exibição do catálogo sys.sql_modules.

Segurança

Permissões

Requer a permissão CONTROL no procedimento, ou a permissão ALTER no esquema ao qual o procedimento pertence ou a associação na função de servidor fixa db_ddladmin.

Exemplos

O exemplo a seguir remove o procedimento armazenado dbo.uspMyProc do banco de dados atual.

DROP PROCEDURE dbo.uspMyProc;  
GO  

O exemplo a seguir remove vários procedimentos armazenados do banco de dados atual.

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

O exemplo a seguir remove o procedimento armazenado dbo.uspMyProc se ele existe, mas não causa um erro se o procedimento não existe. Essa sintaxe é nova no SQL Server 2016 (13.x).

DROP PROCEDURE IF EXISTS dbo.uspMyProc;  
GO  

Consulte Também

ALTER PROCEDURE (Transact-SQL)
CREATE PROCEDURE (Transact-SQL)
sys.objects (Transact-SQL)
sys.sql_modules (Transact-SQL)
Excluir um procedimento armazenado