Bonjour,
j'ai une erreur que je ne comprends pas, sous Firebird 2.5
je ne mets pas tout le code de la procédure, mais l'erreur ce trouve ici:
je logue bien avant le IF:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 ... EXECUTE STATEMENT 'INSERT INTO T ( I, TXT, DAT ) VALUES ( 1, '''||:sTable||': avant IF (rownum_last:'||:rownum_last||' < cpt_all:'||:cpt_all||')'', current_timestamp )'; -- vérifie si des lignes sont à traiter IF (rownum_last < cpt_all) THEN BEGIN EXECUTE STATEMENT 'INSERT INTO T ( I, TXT, DAT ) VALUES ( 1, '''||:sTable||': apres IF (rownum_last:'||:rownum_last||' < cpt_all:'||:cpt_all||')'', current_timestamp )'; ...
"NOTE: avant IF (rownum_last:179 < cpt_all:180)"
mais la comparaison des 2 valeurs (qui sont bien de type INTEGER toutes les deux) me génère une exception avec le sqlcode -802
je ne vois pas ce qu'y pose problème pour la comparaison...
quelqu'un a une piste ?
Partager