SQL Error -104 - SQL/NoSQL - Programmation
Marsh Posté le 09-07-2009 à 10:35:07
Pour les codes d'erreur, voir http://www.scribd.com/doc/2191596/ [...] ES-for-DB2 (Attention, la liste pas totalement triée).
En l'occurence, le code d'erreur -104 correspond à : "ILLEGAL SYMBOL "x", où x est le symbole qui ne conviendrait pas. Peut-être que vous pouvez voir ce qu'il y a dans le message à la place du "x".
Par ailleurs, par sécurité, je rajouterais une paire de parenthèses dans la requête :
...WHERE ((...) OR (...)) AND EXISTS (...)
parce que cela éviterait toute confusion possible avec un éventuel :
WHERE (...) OR ((...) AND EXISTS (...))
Marsh Posté le 09-07-2009 à 11:24:21
Merci pour ton retour. J'ai ajouté les parenthèses mais ca ne fonctionne toujours pas. J ai exécuté l'update dans SQL-View et ça marche. La syntaxe est fausse dans le script Shell. Quelle modification il faut apporter au script pour que ca marche.
Merci !!!
Marsh Posté le 09-07-2009 à 11:58:04
J ai trouvé la solution. En faisant copier coller il y a avait un retour chariot qu'il fallait prendre en compte dans le script. J ai mis toute la commande sur la même ligne et ça marche.
Marsh Posté le 09-07-2009 à 13:53:39
Tu édites ton 1er post et tu rajoutes [RESOLU] devant le titre
Marsh Posté le 08-07-2009 à 21:39:24
J'exécute la commande SQL suivante dans un script shell et j obtiens toujours le même message d'erreur sql error -104
sqlcmd=$(db2 -sec " Update SIEBEL.EIM_FN_PAYEE1 T
set T.IF_ROW_BATCH_NUM = T.IF_ROW_BATCH_NUM+99000
WHERE (T.IF_ROW_BATCH_NUM between 50100000 AND 50100999) OR (T.IF_ROW_BATCH_NUM between 50200000 and 50200999)
AND EXISTS (SELECT T1.ROW_ID FROM SIEBEL.S_CON_PAYEE T1 where T1.ACCT_NUM = T.PAYEE_ACCT_NUM)" )
Pouvez me dire c est quoi le problème ?
Merci par avance