Re: A Propos de SQL | Sujet: Re: A Propos de SQL par ChtiCok sur 26/4/2005 13:49:49
Bon j'ai créé au total 8 fonctions pour le tri de mon fichier importé.
J'ai essayé avec les vues mais c'est plus long car la fusion consomme pas mal de temps. J'ai essayé avec l'export-import XML et je suis dans le meme ordre de temps que mes fonctions précédentes donc voici celle que j'ai retenu pour mon projet. Je suis a 51 secondes pour le tri + la création de la table triée
Code :
PROCEDURE prc_TriReseauB5(cNomRub est une chaîne, sCond est une chaîne, nNbElt est un entier,tab_Chps)
i est un entier
j est un entier
sRequete est une chaîne
sTableDesc est une Description de Fichier
sChpDesc est une Description de Rubrique
sRequeteAjout est une Source de Données
MaVue est une Source de Données
//Description de la nouvelle table triée en RéseauB
sTableDesc..Nom={cNomFichierHF}+"TRI"
sTableDesc..CryptageFic=hCryptageStandard
sTableDesc..Type=hFichierNormal
//Description des rubriques du fichier
POUR i=1 A {cNomFichierHF}..NbRubrique
sChpDesc..Nom="Champ"+i
sChpDesc..Type=hRubTexte
sChpDesc..Taille=255
HDécritRubrique(sTableDesc,sChpDesc)
FIN
HAnnuleDéclaration({cNomFichierHF}+"TRI")
//description du fichier dans l'analyse
HDécritFichier(sTableDesc)
//creation du fichier HF
HCréation({cNomFichierHF}+"TRI")
HCréeVue(MaVue,cNomFichierHF,"*",hVueExclusive)
HOptimise(MaVue)
sRequete="SELECT * FROM ["+{MaVue}+"] INNER JOIN TABLE_RB ON (LEFT("+lst_chp_fin[1][1]+",2)=TABLE_RB.DEP)
ORDER BY TABLE_RB.ZONE,"+cNomRub
HExécuteRequêteSQL(sRequeteTriRB,sRequete)
HLitPremier(sRequeteTriRB)
TANTQUE PAS HEnDehors(sRequeteTriRB)
HCopieEnreg({cNomFichierHF}+"TRI",sRequeteTriRB,hValDéfaut)
HAjoute({cNomFichierHF}+"TRI")
HLitSuivant(sRequeteTriRB)
FIN
Esperant que cela aidera quelqu'un.
PS : n'hésitez pas a me faire part de vos remarques si vous pensez que certains point pourraient etre ameliorer.
PS2 : il me reste a effectuer les controles d'erreur
Merci enormement pour votre aide et LONGUE VIE A WDFORGE
|
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|