jeudi 2 décembre 2010

Le RPG n'aime pas les NULL

L'utilisation d'un left join dans une requête SQL est très pratique. Si l'enregistrement joint n'est pas trouvé, les champs correspondant ont la valeur NULL.

Le RPG a horreur des NULL et ça plante l'exécution. Le problème est que le problème est aléatoire, tout dépend des prédicats de la requête.

Vous devez anticiper le problème en utilisant COALESCE pour substituer une valeur lorsque le champ est NULL.

Exemple

SELECT ...,
/*Récup des infos ACHATS */
coalesce(cumqtec, 0) as CUMQTEC,
coalesce(CUMQTECR, 0) as CUMQTECRc,...
FROM ...

Aucun commentaire:

Enregistrer un commentaire