Bonjour à tous,
J'ai un problème assez étrange en SQLJ (Un truc qui génère du JDBC), avec une base DB2. J'ai besoin de faire ça :
Code :
- and T3.CTSCO = (case T2.CTSGRI
- when '1' then '20'
- when '2' then '21'
- end)
|
Si je l'écris tel quel, cela fonctionne.
Maintenant, j'aurais besoin que les 4 chaines de caractères soient des paramètres côté Java :
Code :
- and T3.CTSCO = (case T2.CTSGRI
- when :CONST1 then :CONST1BIS
- when :CONST2 then :CONST2BIS
- end)
|
Et là ça plante, j'ai une erreur SQL -418 (A STATEMENT STRING TO BE PREPARED CONTAINS AN INVALID USE OF PARAMETER MARKERS
-419).
Là où ça devient TRÈS étrange, c'est que ces deux écritures FONCTIONNENT toutes les deux :
Code :
- and T3.CTSCO = (case T2.CTSGRI
- when :CONST1 then '20'
- when :CONST2 then :CONST2BIS
- end)
|
Code :
- and T3.CTSCO = (case T2.CTSGRI
- when :CONST1 then :CONST1BIS
- when :CONST2 then '21'
- end)
|
Et là je ne comprends plus rien : Je peux paramétrer un then ou le second, mais pas les deux en même temps
Merci d'avance si vous avez des idées…
Message édité par zerist le 29-05-2017 à 15:43:32
---------------
https://www.flickr.com/photos/182924845@N04/