J'ai un déclencheur appelé dbo.SendMail et plusieurs bases de données, pas toutes les bases de données ont le déclencheur dbo.SendMail.Alter trigger si existe avec l'utilisation de migrateur fluide
J'utilise FluentMigrator pour gérer les versions de base de données et je veux faire quelque chose comme ci-dessous
IF EXISTS (SELECT * FROM sys.triggers WHERE object_id = OBJECT_ID(N'[dbo].[SendMail]'))
BEGIN
ALTER TRIGGER [dbo].[SendMail]
ON [dbo].[Notification]
FOR INSERT
AS
BEGIN
some sql code
END
END
il me donne erreur de syntaxe incorrecte près de commencer, Expecting EXTERNE.
est-il possible d'y parvenir?
Merci d'avance.
Utilisez 'OBJECT_ID' à la place – Sami
Vous ne pouvez pas tout à fait faire cela comme vous essayez. Vous devrez soit vérifier l'existence du déclencheur et le supprimer, puis toujours le créer, soit utiliser SQL dynamique à l'intérieur de votre site pour créer le déclencheur. –
@SeanLange mais je voulais seulement recréer le trigger si c'était déjà là –