En informatique, un déclencheur (ou trigger en anglais) est un dispositif logiciel qui provoque un traitement particulier en fonction d'événement 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...).
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 supprime en parallèle une 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 de prédéterminer 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...).
En programmation (La programmation dans le domaine informatique est l'ensemble des activités qui permettent...), c'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, un peu comme un fusil dont on appuye sur la gachette pour lancer la balle qui frappe la cloche pour générer le son. En Javascript (JavaScript est un langage de programmation de scripts principalement utilisé dans les pages...), nous pourrions retrouver la fonction "OnClick(gachette)" qui modifierait la variable "volume (Le volume, en sciences physiques ou mathématiques, est une grandeur qui mesure l'extension...)" de la fonction Cloche() pour activer le son.
Les ordres du 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).
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'
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; /
FOR EACH ROW permet de faire déclencher le trigger plusieurs fois sur un seul UPDATE. Si on ne souhaite qu’un seul déclenchement, on omet simplement la clause FOR EACH STATEMENT.