|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Étudiant Inscription : mai 2011 Messages : 4 ![]() |
Bonjour à tous.
Je suis en train de creer un trigger qui permet de générer un IBAN a la création d'un compte. Pour cela je dois faire le modulo 97 d'un nombre à 27 chiffres. Tel quel, j'obtiens une erreur de type Citation:
Citation:
Merci d'avance. |
||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
Normal car vous êtes en dépassement de capacité même pour un BIGINT.
Postez votre code pour que nous puissions vous aider. ++ |
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Étudiant Inscription : mai 2011 Messages : 4 ![]() |
Bonjour et merci,
Voici le code du trigger: Code :
Code :
INSERT INTO COMPTE VALUES ('02587413691','3000400828','1','01','') Merci encore. EDIT: En cherchant des infos sur la façon "manuelle" de calculer le modulo des grands nombre j'ai trouvé ce message qui donnait la solution: http://www.developpez.net/forums/d32...-grand-nombre/ Le problème est donc résolu, merci tout de même à Mikedavem. |
||
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Bonjour
Notez tout de même que votre trigger pourrait s’écrire ainsi (sans résoudre le problème du modulo) avec un trigger instead of insert(on pourrait faire le même principe avec un trigger for insert) : Code SQL :
plus simple non ?!? 1/ cela évite toutes ces variables inutiles 2/ cela prend en charge les insertions multilignes Mais plus que ça, vous pourriez créer une fonction qui calcule le IBAN à partir des autres informations, et créer une colonne calculée (eventuellement persistente et eventuellement indexée) dans votre table, et vous passer ainsi d'un couteux trigger. |
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Étudiant Inscription : mai 2011 Messages : 4 ![]() |
C'est noté, en effet ça m'as l'air beaucoup plus simple.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com