Je dois écrire une routine qui transfère certaines procédures stockées d'une base vers une autre.
La routine reçoit en paramètre le nom de la base cible et le nom de la procédure à transférer.
Je voudrais donc d'abord supprimer la procédure existante
Pour que ce code soit stable je dois tester d'abord si la procédure existe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Set @LC_Texte2 = 'DROP PROCEDURE ' + @PC_Procedure Execute (@LC_Texte2)
Et là le fait d'avoir un Execute en tre le If et le Else fait planter à la compilation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 IF EXISTS (SELECT * FROM sys.objects Where Name = @PC_Procedure) Set @LC_Texte2 = 'DROP PROCEDURE ' + @PC_Procedure Execute (@LC_Texte2) Else
Est-ce que je peux écrire cela autrement ?
Partager