Supprimer une procédure stockée SQL Server si elle existe

Comment tester l’existence d’une procédure stockée avant de la supprimer? C’est une bonne pratique de toujours tester l’existence des objets SQL Server, en l’occurrence une procédure stockée avec la commande IF EXISTS.

Comment tester l’existence d’une procédure stockée SQL Server avant de la supprimer ?

En d’autres termes, comment faire pour supprimer une procédure stockée SQL Server sans erreur?

Pour cela, utilser la fonction T-SQL IF EXISTS, comme ceci par exemple:

IF EXISTS (
  SELECT name 
  FROM sysobjects  
  WHERE name = 'uspGetClient' 
    AND type = 'P'
)
  DROP PROCEDURE uspGetClient
GO

En effet, si la procédure n’existe pas le message d’erreur suivant est affiché:

Msg 3701, Level 11, State 5, Line 1
Cannot drop the procedure ‘uspGetClient’, because it does not exist or you do not have permission.

Soyez le premier à commenter

Laisser un commentaire