DROP PROCEDURE (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punto de conexión de análisis SQL en Microsoft FabricAlmacenamiento en Microsoft Fabric

Quita uno o más procedimientos almacenados o grupos de procedimientos de la base de datos actual en SQL Server.

Convenciones de sintaxis de Transact-SQL

Sintaxis

-- 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 }  

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.

Argumentos

IF EXISTS
Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual).

Quita el procedimiento condicionalmente solo si ya existe.

schema_name
El nombre del esquema al que pertenece el procedimiento. No se puede especificar un nombre de servidor o un nombre de base de datos.

procedure
Nombre del procedimiento almacenado o grupo de procedimientos almacenados que se van a quitar. No se pueden quitar procedimientos concretos de un grupo de procedimientos numerados, ya que de este modo se quita el grupo de procedimientos completo.

Prácticas recomendadas

Antes de quitar un procedimiento almacenado, compruebe los objetos dependientes y modifique estos objetos como corresponda. La acción de quitar un procedimiento almacenado puede hacer que los objetos dependientes y los scripts sufran errores cuando estos objetos no están actualizados. Para más información, vea Ver las dependencias de un procedimiento almacenado.

Metadatos

Para consultar una lista de procedimientos existentes, vea la vista de catálogo sys.objects. Para consultar la definición del procedimiento, vea la vista de catálogo sys.sql_modules.

Seguridad

Permisos

Se necesita el permiso CONTROL en el procedimiento o el permiso ALTER en el esquema al que corresponde el procedimiento, o la pertenencia al rol fijo de servidor db_ddladmin.

Ejemplos

En el siguiente ejemplo se quita el procedimiento almacenado dbo.uspMyProc de la base de datos actual.

DROP PROCEDURE dbo.uspMyProc;  
GO  

En el siguiente ejemplo se quitan varios procedimientos almacenados de la base de datos actual.

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

En este ejemplo se quita el procedimiento almacenado dbo.uspMyProc, si existe, pero no se produce un error si el procedimiento no existe. Esta sintaxis es nueva en SQL Server 2016 (13.x).

DROP PROCEDURE IF EXISTS dbo.uspMyProc;  
GO  

Consulte también

ALTER PROCEDURE (Transact-SQL)
CREATE PROCEDURE (Transact-SQL)
sys.objects (Transact-SQL)
sys.sql_modules (Transact-SQL)
Eliminar un procedimiento almacenado