Bonjour,
j'ai une reprise de donnée à effectuer sur de gros volumes de données.
J'ai des fichiers text, de données, que j'insere dans des tables temporaires en début de traitement.
Ensuite je travaille à partir de ces tables temporaires pour faire ma reprise.
Je sais que l'utilisation de curseur est contre performant, mais je ne sais pas comment faire autrement sachant que:
1) j'ai un table principale et pour chaque ligne insérées, je doit insérer plusieurs ligne dans d'autres tables "salites"
2) j'utilise des tables de transco (entre l'ancienne base de donnée et la nouvelle) pour récupérer la valeur des données de références
3) les données chargées dans mon fichier text ne sont pas fiables (format potentiellement incorrecte, non nullité pas forcément respectée, données de référence inexistante....).
Je dois donc enregistrer une ligne, dans une table de log, chaque fois que je rencontre un problème lors du traitement de mes données (données obligatoire manquant, format incorrecte...)
Je sais qu'il y a moyen de se passer des curseurs, dans de nombreux cas (bien que je ne sache pas comment...lol), mais dans mon cas, j'ai eu beau chercher, je ne vois pas comment je pourrais m'en passer, étant donnée que j'ai besoin de faire un traitement ligne à ligne pour pouvoir récupérer toutes les erreurs qui seraient générées pendant la reprise.....
.
Pensez vous qu'il y a une possibilité pour moi de ne pas utiliser de curseur pour effectuer mon traitement et dans ce cas, lequel (oui parce que c'est pas utilise de me dire "oui, il y a un moyen" sans me donner d'avantage d'explication...lol... c'est trop facile
).
PS: j'ai déjà parcouru la doc de SQLPRO sur la façon d'éviter d'uiliser des curseur.... et je n'ai aps trouév mon bonheur.... et plus je n'ai que 15 jours pour écrire mon programme de reprise....
Merci beaucoup
Partager