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

S’applique à :Applies to: ouiSQL ServerSQL Server (toutes les versions prises en charge) yesSQL ServerSQL Server (all supported versions) OuiAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database OuiAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance ouiAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics ouiParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data WarehouseS’applique à :Applies to: ouiSQL ServerSQL Server (toutes les versions prises en charge) yesSQL ServerSQL Server (all supported versions) OuiAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database OuiAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance ouiAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics ouiParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse

Supprime une ou plusieurs procédures stockées ou un ou plusieurs groupes de procédures de la base de données active dans SQL Server 2019 (15.x)SQL Server 2019 (15.x).Removes one or more stored procedures or procedure groups from the current database in SQL Server 2019 (15.x)SQL Server 2019 (15.x).

Icône Lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax

-- 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  
  
DROP { PROC | PROCEDURE } { [ schema_name. ] procedure_name }  

Notes

Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 et versions antérieures, consultez Versions antérieures de la documentation.To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

ArgumentsArguments

IF EXISTSIF EXISTS
S’applique à: SQL ServerSQL Server (de SQL Server 2016 (13.x)SQL Server 2016 (13.x) à la version actuelle).Applies to: SQL ServerSQL Server ( SQL Server 2016 (13.x)SQL Server 2016 (13.x) through current version).

Supprime, de manière conditionnelle, la procédure uniquement si elle existe déjà.Conditionally drops the procedure only if it already exists.

schema_nameschema_name
Nom du schéma auquel appartient la procédure.The name of the schema to which the procedure belongs. Vous ne pouvez pas spécifier de nom de serveur ou de base de données.A server name or database name cannot be specified.

procedureprocedure
Nom de la procédure stockée ou du groupe de procédures stockées à supprimer.The name of the stored procedure or stored procedure group to be removed. Vous ne pouvez pas supprimer des procédures individuelles dans un groupe de procédures numérotées ; dans ce cas, tout le groupe de procédures est supprimé.Individual procedures within a numbered procedure group cannot be dropped; the whole procedure group is dropped.

Bonnes pratiquesBest Practices

Avant de supprimer une procédure stockée, vérifiez les objets dépendants et modifiez-les en conséquence.Before removing any stored procedure, check for dependent objects and modify these objects accordingly. La suppression d'une procédure stockée peut entraîner l'échec des scripts et des objets dépendants quand ceux-ci n'ont pas été mis à jour.Dropping a stored procedure can cause dependent objects and scripts to fail when these objects are not updated. Pour plus d’informations, consultez Afficher les dépendances d’une procédure stockée.For more information, see View the Dependencies of a Stored Procedure

MétadonnéesMetadata

Pour afficher la liste des procédures existantes, interrogez la vue de catalogue sys.objects.To display a list of existing procedures, query the sys.objects catalog view. Pour afficher la définition de procédure, interrogez la vue de catalogue sys.sql_modules.To display the procedure definition, query the sys.sql_modules catalog view.

SécuritéSecurity

AutorisationsPermissions

Nécessite l’autorisation CONTROL sur la procédure, ou l’autorisation ALTER sur le schéma auquel appartient la procédure, ou encore l’appartenance au rôle serveur fixe 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.

ExemplesExamples

L'exemple suivant supprime la procédure stockée dbo.uspMyProc de la base de données active.The following example removes the dbo.uspMyProc stored procedure in the current database.

DROP PROCEDURE dbo.uspMyProc;  
GO  

L'exemple suivant supprime plusieurs procédures stockées de la base de données active.The following example removes several stored procedures in the current database.

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

L’exemple suivant supprime la procédure stockée dbo.uspMyProc si elle existe, mais ne génère pas d’erreur si elle n’existe pas.The following example removes the dbo.uspMyProc stored procedure if it exists but does not cause an error if the procedure does not exist. Cette syntaxe est une nouveauté de 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  

Voir aussiSee 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)
Supprimer une procédure stockéeDelete a Stored Procedure