Peut-on avoir un execute dans un If
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
Code:
1 2
| Set @LC_Texte2 = 'DROP PROCEDURE ' + @PC_Procedure
Execute (@LC_Texte2) |
Pour que ce code soit stable je dois tester d'abord si la procédure existe
Code:
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 |
Et là le fait d'avoir un Execute en tre le If et le Else fait planter à la compilation
Est-ce que je peux écrire cela autrement ?