DROP PROCEDURE (Transact-SQL)

 

Updated: October 28, 2015

THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Removes one or more stored procedures or procedure groups from the current database in SQL Server 2016.

Topic link icon Transact-SQL Syntax Conventions

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

IF EXISTS

Applies to: SQL Server (SQL Server 2016 through current version).

Conditionally drops the procedure only if it already exists.

schema_name
The name of the schema to which the procedure belongs. A server name or database name cannot be specified.

procedure
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.

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

To display a list of existing procedures, query the sys.objects catalog view. To display the procedure definition, query the sys.sql_modules catalog view.

Permissions

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.

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;  

The following example removes the dbo.uspMyProc stored procedure if it exists but does not cause an error if the procedure does not exist. This syntax is new in SQL Server 2016.

DROP PROCEDURE IF EXISTS dbo.uspMyProc;  
GO  

The following example removes the dbo.uspMyProc stored procedure in the current database.

DROP PROCEDURE dbo.uspMyProc;  
GO  

ALTER PROCEDURE (Transact-SQL)
CREATE PROCEDURE (Transact-SQL)
sys.objects (Transact-SQL)
sys.sql_modules (Transact-SQL)
Delete a Stored Procedure

Community Additions

ADD
Show: