|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Christian Dumasprogrammeur / analyste Inscription : novembre 2003 Messages : 38 ![]() |
Bonjour tous le monde!
Voilà mon problème, j'ai un trigger qui est lancer avant l'insersion d'une ligne dans une table et tout fonctionne très bien mais, dans certains cas particulier, j'aimerais pouvoir exécuter l'insersion des données dans la BD sans lancer le trigger. Existe t-il une façon de contourner un trigger sans le dropper? J'utilise plperlu pour les fonctions trigger. Merci |
|
|
00
|
|
|
#2 |
|
Invité(e)
Messages : n/a ![]() |
il faudrait rajouter une condition if dans ton trigger qui testerait la valeur d'un champ(0 ou 1) par exemple.
En fonction de cette valeur il agit ou pas. Peut-etre y at-il une autre solution? |
00
|
|
|
#3 | |
|
Futur Membre du Club
![]() Christian Dumasprogrammeur / analyste Inscription : novembre 2003 Messages : 38 ![]() |
Citation:
Merci quand mème |
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 1 ![]() |
Une possibilité consisterait à faire une table et une vue associée reprennant les mêmes colonnes.
Illustration : table_donnees(col1, col2, col3) view_donnees => CREATE OR REPLACE VIEW view_donnees AS SELECT col1, col2, col3 FROM table_donnees L'astuce consiste alors à définir une règle spéciale sur la vue de la manière suivante : CREATE RULE view_donnees_insert AS ON INSERT TO view_donnees DO INSTEAD ... appel au "trigger" ... Pour obtenir le comportement que tu souhaites, cela reviendrait donc à : - outrepasser le trigger, on insère directement dans table_donnees, - utiliser le trigger, on insère dans view_donnees. En espérant que ce soit possible ... (ben oui j'ai pas testé !) N.B : "trigger" ne doit pas être appelé directement comme cela à mon avis ... |
|
|
00
|
|
|
#6 |
|
Futur Membre du Club
![]() Christian Dumasprogrammeur / analyste Inscription : novembre 2003 Messages : 38 ![]() |
kryskool: ma version est 8.1 par contre si j'ai bien compris, le trigger peux être désactivé avec ALTER TABLE mais, lorsque d'autre requêtes son envoyé en même temps, est-il désactivé pour tous le monde (Il ne faudrais pas)?
Car mon but à moi est de faire la maintenace de la BD sans entraver le service à la clientel. Sinon, je suis oubligé d'attendre au soir lorsque la BD n'est plus solicité ou pire encore, la fin de semaine. emynona: Ton idée mérite d'être testé. Je vais le faire mais j'espère que tu es patient car comme je l'ai dit plus haut, c'est simplement pour moi afin de facilité la maintenance de la BD et surtout d'évité de faire des heures suplémentaire le soir Alors, merci beaucoup et continuez à soumettre vos bonnes idées. Cheers |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com