| ||
auteur : Barbibulle | ||
Un trigger est un bout de programme sur le serveur qui
est automatiquement invoqué lorsqu'un enregistrement est inséré, mis à jour
ou effacé.
Les triggers sont liés à une table ou une vue. Ils
permettent d'effectuer de petites opérations telles que vérification de données,
modification, etc... Il existe six événements : "Before Insert", "After
Insert", "Before Update", "After Update", "Before Delete", "After
Delete". Le "Before Insert" est l'événement envoyé avant une
insertion dans une table. Il est très utilisé pour les vérifications des
données et
surtout lorsqu'on utilise un générateur sur une donnée de
la table. Le "After Insert" est l'événement envoyé après qu'une
insertion se soit bien passée dans une table. Cet événement peut donc
être utilisé pour envoyer un événement vers les clients
ou pour faire une insertion dans une table d'historisation ou
... Le "Before Update", "Before Delete" est l'événement
envoyé avant respectivement une mise à jour ou un effacement d'un
enregistrement de la table. Le "After Update", "After Delete" est l'événement envoyé
après respectivement une mise à jour ou un effacement d'un enregistrement de
la table. Il peut y avoir plusieurs triggers pour une même table et
même plusieurs sur un même évènement. Dans ce cas là on peut préciser un
ordre d'exécution
grâce au paramètre du trigger "POSITION". Dans un trigger on a accès directement aux colonnes de la
table/vue au travers de variables de contexte. Suivant le type d'événement
sur lequel se trouve
attaché le trigger il y a un ou deux contextes. Le
contexte de variable NEW contient les nouvelles valeurs des colonnes (ex:
NEW.MaColonne). Ce contexte
est accessible uniquement pour les types de trigger
Update et Insert. Le contexte de variable OLD contient les anciennes valeurs
des colonnes (ex: OLD.MaColonne).
Ce contexte est accessible uniquement pour les types de
trigger Update et Delete. C'est ainsi que par exemple on va pouvoir
interdire
les augmentations de salaires supérieures à 25% dans un
trigger before update
|
| ||
auteur : Barbibulle | ||
Par exemple pour limiter les augmentations de salaire sur
la table EMPLOYES à maximum 25% :
| ||
lien : Qu'est ce qu'un trigger ? |
| ||
auteur : Barbibulle | ||
La suppression définitive d'un trigger se fait simplement
comme ceci :
| ||
lien : Qu'est ce qu'un trigger ? |
| ||
auteur : Barbibulle | ||
On peut rendre inactif un trigger sans devoir le
supprimer de la manière suivante :
Pour le réactiver :
| ||
lien : Qu'est ce qu'un trigger ? |
Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2005 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.