Trigger SQL Server avec Clause Where
Fermé
Tekkeur
Messages postés
2
Date d'inscription
mercredi 31 mai 2017
Statut
Membre
Dernière intervention
1 juin 2017
-
31 mai 2017 à 14:31
Tekkeur Messages postés 2 Date d'inscription mercredi 31 mai 2017 Statut Membre Dernière intervention 1 juin 2017 - 1 juin 2017 à 12:27
Tekkeur Messages postés 2 Date d'inscription mercredi 31 mai 2017 Statut Membre Dernière intervention 1 juin 2017 - 1 juin 2017 à 12:27
Bonjour,
Je souhaiterai avoir votre aide pour créer un trigger sur SQL Server.
Ma situation :
J’ai une table dbo.ACTIONS, avec les colonnes : Action_ID, Person_ID, Pause_Code, Next_state.
• J’aimerai créer un trigger qui envoie automatiquement une notification par mail à chaque fois qu’il y aura une ligne ajoutée dans la table dbo.ACTIONS dont la Pause_Code=2. Si le Pause_code !=2, je n’envoie pas une notification mail.
• Deuxième point, 2min après l’insertion de la ligne, si le Next_State est toujours null (Next_State est initialisé à Null au moment de l’insertion), j’envoie une autre notification, dans le cas contraire, je n’ai pas besoin d’envoyer une notification (cas où Next_State not null)
Merci d’avance pour votre aide.
Je souhaiterai avoir votre aide pour créer un trigger sur SQL Server.
Ma situation :
J’ai une table dbo.ACTIONS, avec les colonnes : Action_ID, Person_ID, Pause_Code, Next_state.
• J’aimerai créer un trigger qui envoie automatiquement une notification par mail à chaque fois qu’il y aura une ligne ajoutée dans la table dbo.ACTIONS dont la Pause_Code=2. Si le Pause_code !=2, je n’envoie pas une notification mail.
• Deuxième point, 2min après l’insertion de la ligne, si le Next_State est toujours null (Next_State est initialisé à Null au moment de l’insertion), j’envoie une autre notification, dans le cas contraire, je n’ai pas besoin d’envoyer une notification (cas où Next_State not null)
Merci d’avance pour votre aide.
A voir également:
- Trigger SQL Server avec Clause Where
- Ps3 media server - Télécharger - Divers Réseau & Wi-Fi
- Filezilla server - Télécharger - Téléchargement & Transfert
- Mysql community server - Télécharger - Bases de données
- Serviio media server - Télécharger - TV & Vidéo
- Association avec le server freebox en cours freeplug vert - Forum Freebox
1 réponse
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
1 juin 2017 à 12:22
1 juin 2017 à 12:22
Bonjour,
Pour le premier point, tu peux faire un truc comme ça :
Pour le deuxième point, plutôt que quelque chose qui se déclenche deux minutes après l'insertion, je te propose plutôt un job sql qui va être exécuté toutes les 2 minutes et requêter les lignes dont Next_State est null.
Si ta table Action est grosse, tu as peut-être intérêt à utiliser une table dédiée aux lignes qui n'ont pas encore fait l'objet d'un envoi de mail, dans laquelle tu insères les Action_Id dans le trigger précédent, et que tu supprimes sitôt que tu n'en as plus besoin.
Xavier
Pour le premier point, tu peux faire un truc comme ça :
CREATE TRIGGER envoie_mail_action ON actions AFTER INSERT AS IF EXISTS (SELECT 1 FROM INSERTED WHERE Pause_Code = 2) BEGIN -- Envoyer la mail ici, avec sp_send_dbmail END GO
Pour le deuxième point, plutôt que quelque chose qui se déclenche deux minutes après l'insertion, je te propose plutôt un job sql qui va être exécuté toutes les 2 minutes et requêter les lignes dont Next_State est null.
Si ta table Action est grosse, tu as peut-être intérêt à utiliser une table dédiée aux lignes qui n'ont pas encore fait l'objet d'un envoi de mail, dans laquelle tu insères les Action_Id dans le trigger précédent, et que tu supprimes sitôt que tu n'en as plus besoin.
Xavier
1 juin 2017 à 12:27