SQL Error -104

SQL Error -104 - SQL/NoSQL - Programmation

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
 
 
 

Reply

Marsh Posté le 08-07-2009 à 21:39:24   

Reply

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 (...))
 
 
 
 

Reply

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 !!!

Reply

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.

Reply

Marsh Posté le 09-07-2009 à 12:00:15    

Comment marqué résolu le problème ?

Reply

Marsh Posté le 09-07-2009 à 13:53:39    

Tu édites ton 1er post et tu rajoutes [RESOLU] devant le titre

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed