J'ai un script SQL qui doit être exécuté chaque fois qu'un client exécute la fonctionnalité de "gestion de base de données". Le script comprend la création de procédures stockées sur la base de données client. Certains de ces clients peuvent déjà avoir la procédure stockée lors de l'exécution du script, et d'autres pas. J'ai besoin que les procédures stockées manquantes soient ajoutées à la base de données client, mais peu importe combien j'essaie de plier la syntaxe T-SQL, j'obtiens
CREATE / ALTER PROCEDURE 'doit être la première instruction d'un lot de requêtes
J'ai lu ça avant de créer des œuvres, mais je n'aime pas le faire de cette façon.
IF EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name = 'MyProc')
DROP PROCEDURE MyProc
GO
CREATE PROCEDURE MyProc
...
Comment puis-je ajouter la vérification de l'existence d'une procédure stockée et la créer si elle n'existe pas mais la modifier si elle existe?