Bonjour,
Comment générer le prochain numéro de facture ?
Cette question simple vient de m'être posée et j'avoue ne pas être certain de la réponse optimale à apporter, car derrière, il se cache un peu plus de complexité. Une application génère une facture à chaque paiement en ligne. Le numéro de facture doit être unique. J'utilise une contrainte d’unicité pour la garantir. Pour que la numérotation se suive, cad que je ne puisse jamais passer de facture0001 à facture0003 sans avoir généré la facture0002, j'avais donc pensé à une séquence. Mais les numéros doivent se suivre. Si une erreur survient entre la génération du prochain numéro de la séquence et la validation de la transaction, j'obtiens un trou dans ma numérotation et le comptable va rapidement s'énerver.
La solution du max+1 est la meilleure solution pour avoir des verrous autobloquants.
Alors comment faites-vous ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part insert into facture (numeroFacture, ...) select max(numeroFacture)+1, ... FROM ma_table_facture
Partager