|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() |
Bonjour,
Les fonctions de TRIGGER pour des contrôles sur la base sont assez faciles à saisir. Mais je ne perçois pas complètement leur intérêt. En fait, la mécanique m'échappe. Peut-on m'éclaire un peu sur leur utilisation les plus courantes ? Où écrit-on les codes de ces trigger ? A la suite d'une requête ? dans des fichiers à part ? Qui les déclenchent ? Peut-être que je me complique la vie. Il s'agit de simple requête se déclenchant après ou avant une autre ??? Merci pour vos éclaircicements |
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 982 ![]() |
Sur chaque table tu peux mettre des triggers sur une combinaison de 6 au total.
Avant et Après le déclenchement d'une suppression d'une ligne Avant et Après le déclenchement d'une modification d'une ligne Avant et Après le déclenchement d'une insertion de ligne. En gros, cela permet de déclencher une opération SQL lorsqu'une ligne à été chatoullé. Personnellement, je l'utilise pour enregistrer toute modification opéré sur la table. Voici un exemple. Code :
Les trigger permet de se passer d'un language tier pour faire des opérations automatique lors d'une opération d'écriture. Elle sert aussi à ce qu'il y ait pas un utilisateur qui travail directement sur la base de données et fausse les données. Tu peux par exemple faire en sorte que le nom soit toujours enregistré avec une majuscule. De formater un nom. Faire des suppression propre. Que les enregistrements soit multiple. C'est à dire que si tu fais un insert dans une table. La même opération doit se faire tout en partie sur une autre table. A partir d'un INSERT ça provoque un autre INSERT dans une autre table. Attention, car trop de trigger peut créer des opérations en cascade et peut parfois créer un anneaux qui peut bloquer une base de données. Le serpent mange sa queue.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
||
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() |
Bonjour,
Merci berceker united pour cette réponse détaillée. Juste une dernière question : Tu places ce code où ? sur une page php ? Merci |
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 982 ![]() |
Dans un éditeur SQL. Il faut l'executer qu'une fois. Depuis phpMyadmin je ne sais pas si c'est facile car il n'est pas tellement fait pour cela.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() |
Une idée comme ça...
On peut créer une table qui renferme les scripts SQL de type Trigger et on les appelle en fonction des besoins (du coup dans phpMyAdmin c'est tranquile)... Sinon, je te remercie pour tout ça, j'ai pigé l'essentiel et je vais pouvoir bricoler. |
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 982 ![]() |
Non tu ne peux pas. Ils s'execute automatiquement. Eventuellement via php mais une seul fois.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com