|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : mars 2005 Messages : 105 ![]() |
Bonjour,
Pour gérer un numéro de facture, j'utilise un générateur lié à un trigger qui va incrémenter automatiquement le numéro de facture à chaque insertion. Ca fonctionne parfaitement sauf que je viens de constater qu'en cas de plantage durant le commit, le générateur conserve la nouvelle valeur incrémenté ( le rollback n'annule pas son auto incrémentation ). Ceci est génant car risque de créer des 'trous' dans la liste des factures : numéro de facture pas utilisé si plantage. J'ai fait une recherche sur le forum, j'ai vu que ce fonctionnement est tout à fait normal mais je n'ai pas trouvé de solution pour éviter cette incrémentation . Faut il passer plutot par les procédures stockées pour faire les insertions de facture pour limiter les risques de plantage ou y a t'il une solution qui résoud ce problème ? Merci d'avance Thierry |
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Olivier MuetResponsable de service informatique Inscription : septembre 2003 Messages : 222 ![]() |
Non.
Les générateurs fonctionnent hors transaction. Que tu sois dans une PS, un trigger ou n'importe quoi, un rollback n'empêchera pas son incrémentation. |
|
|
00
|
|
|
#3 | ||
|
Membre régulier
![]() Inscription : février 2005 Messages : 100 ![]() |
Bonjour,
Ce n'est pas gênant d'avoir un trou dans la liste des numéros de facture. Par exemple, si un jour tu decides d'effacer l'enregistrement correspondant au bout de quelques années, tu auras forcément un trou) Tout dépend de l'utilisation que tu souhaites en faire. A mon avis, il est plus judicieux d'utiliser ton générateur pour l'identifiant de ta table qui devrait être différent du numéro de facture comme : table TFacture colonne Numero identifiant changé en fonction du générateur colonne NumeroFacture ... Sinon si tu insistes vraiment pour utiliser un champ facture incrémenté alors crée un trigger before insert : Code :
Ou alors ton numéro de facture pourrait même être un champs calculé. |
||
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 215 ![]() |
voir le document :
http://www.ibobjects.com/docs/ti_AuditableSeries.ZIP |
|
00
|
|
|
#5 | |
|
Membre du Club
![]() Inscription : mars 2005 Messages : 105 ![]() |
Tout d'abords merci pour ta réponse,
Citation:
Si l'utilisateur décide d'effacer une facture, je la mets à l'état 'invalide' mais elle reste visible. En ce qui concerne la solution de mettre un générateur sur l'identifiant de la table et le numéro de facture dans une colonne, je ne vois pas vraiment l'interet, cela ne fait que reporter le pb, comment fais tu pour gérer cela dans un environnement multi poste ? |
|
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : décembre 2003 Messages : 1 716 ![]() |
il y a bcp d'encre qui a ecoulé pour ce sujet
alors j'aime bien prposé une solution et a vrait dir une question a la fin de chaque journé peut on faire une mise a jour des factures pour qu'on a pas de trous???
__________________
PAS DE DESTIN, C'EST CE QUE NOUS FAISONS |
|
|
00
|
|
|
#7 | |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 215 ![]() |
Citation:
http://www.ibobjects.com/docs/ti_AuditableSeries.ZIP |
|
|
00
|
|
|
#8 |
![]() ![]() Inscription : janvier 2004 Messages : 2 123 ![]() |
Salut,
Ce tutoriel ne pourrait pas vous aider ? http://octobinz.developpez.com/artic...e/generateurs/ |
|
|
00
|
|
|
#9 | |
|
Membre Expert
![]() Inscription : décembre 2003 Messages : 1 716 ![]() |
Citation:
__________________
PAS DE DESTIN, C'EST CE QUE NOUS FAISONS |
|
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 215 ![]() |
et ! lis les réponses que l'on t'a donné, ton pb est résolu
bien sûr que l'on peut |
|
00
|
|
|
#11 | |
|
Membre du Club
![]() Inscription : mars 2005 Messages : 105 ![]() |
Citation:
Et pour couronner le tout, je n'ai jamais fait de procédures stockés, je ne comprends pas celles qui sont écrites. Bref, tu l'aura compris, cela va me prendre pas mal de temps pour comprendre ce qui doit être fait. Je peux te solliciter à nouveau plus tard, si je comprends pas certaines choses ? |
|
|
|
00
|
|
|
#12 | |
|
Membre du Club
![]() Inscription : mars 2005 Messages : 105 ![]() |
Citation:
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com