Qu'est-ce qu'un trigger ?

Janvier 2013

Un trigger est un traitement qui est exécuté automatiquement lors d'un INSERT, UPDATE ou DELETE sur une table.

Les triggers permettent par exemple de supprimer des tuples qui comportent des clés étrangères.

MySQL supporte les triggers depuis la version 5.0.2.

Pour créer un trigger, utilisez HeidiSQL, puis faites clic droit > Create new > Trigger.

Ensuite, écrivez le code SQL de votre trigger, exactement comme on le fait pour une procédure stockée.

Il faut aussi définir l'événement, composé de 2 champs :

  1. BEFORE pour exécuter le trigger avant l'exécution de la requête
    AFTER pour l'exécuter après
  2. La clause : INSERT, UPDATE ou DELETE

Voilà par exemple le code de création d'un trigger pour Wordpress qui supprime automatiquement les métas lors de la suppression d'un post (billet) :

Allez donc jeter un oeil sur cette page : alternative gratuite à excel.

CREATE TRIGGER `Delete meta` BEFORE DELETE ON `wp_posts` FOR EACH ROW BEGIN
	DELETE FROM wp_postmeta WHERE post_id = ID;
END;

Impact des triggers sur les performances

Les triggers peuvent avoir un impact très négatif sur les performances en écriture (donc rassurez-vous ça ne ralentit pas les requêtes SELECT qui sont les plus fréquentes).

Vous pouvez en savoir plus en lisant ce benchmark.

Fini de lire cette page ? allez faire un tour ici : texte-néon (ampoule), ça peut vous intéresser.

0 commentaire
facultatif
Facebook Twitter RSS Email
Forum Excel
Venez découvrir le nouveau forum excel question/réponse à la stackoverflow.com !
Forum Excel
hit parade n'en a rien a foutre du W3C Positionnement et Statistiques Gratuites Vincent Paré