Déclencheur - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

En programmation procédurale, un déclencheur (trigger en anglais) est un dispositif logiciel qui provoque un traitement particulier en fonction d'événements prédéfinis. Par extension, c'est l'événement lui-même qui est qualifié de déclencheur (En programmation procédurale, un déclencheur (trigger en anglais) est un dispositif...).

Utilisation

Dans les bases de données, lors de la mise à jour (Une mise à jour, souvent abrégé en MAJ ou MàJ, est l'action qui consiste à...) ou de la suppression d'une donnée (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent...), si un déclencheur existe, il peut lancer automatiquement une procédure stockée, qui agit en parallèle sur la même donnée (Dans les technologies de l'information, une donnée est une description élémentaire,...) dans une table afférente. Cela permet d'automatiser certains traitements assurant la cohérence et l'intégrité de la base de données (En informatique, une base de données (Abr. : « BD » ou...).

Le déclencheur est la fonction qui initie une variable (En mathématiques et en logique, une variable est représentée par un symbole. Elle...) affectée à une autre fonction. Ce système s'apparente aux gestionnaires d'événements par exemple en Javascript (JavaScript est un langage de programmation de scripts principalement utilisé dans les pages...).

Les ordres du langage de définition (Une définition est un discours qui dit ce qu'est une chose ou ce que signifie un nom. D'où la...) de données (LDD) et de la gestion de transaction (CREATE, ALTER, DROP, COMMIT, SAVEPOINT, sont interdits pour les triggers autres que base de données (triggers système).

Exemple

Trigger déclenché (Un déclenché (ou tonneau déclenché) est une figure de voltige aérienne.) lors d’une insertion ou d’une modification de la table table_exple en SQL :

       CREATE OR REPLACE TRIGGER trigg_exple       BEFORE INSERT OR UPDATE ON table_exple       FOR EACH ROW       WHEN (NEW.no_line > 0)       DECLARE           evol_exemple NUMBER;       BEGIN           evol_exemple := :NEW.exemple  - :old.exemple;           DBMS_OUTPUT.PUT_LINE('  evolution: ' || evol_exemple);       END;       /      
Page générée en 0.025 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise