|
|
Bonjour,
J'ai un fichier texte et un recordset Oracle.
Je souhaite faire une comparaison selon certains champs. Comment puis-je ?
Ces 2 sources sont censés avoir le même nombre de lignes mais dans certains cas ce n'est pas le cas.
Le but du script s'est de déterminer les lignes qui manquent d'un côté ou de l'autre.
La comparaison se faisant des 2 côtés, il y aurait 2 fonctions : l'une ->, l'autre <-.
Voila pour la partie fonctionnelle.
J'ai pensé à 2 boucles while imbriquées pour chacune des fonctions qui se composerait comme suite, en langage perl, cela donnerait :
//Exécution SQL
$sth = $dbh->prepare("SELECT * FROM TABLE WHERE ...");
$sth->execute();
//Fichier Texte
open($FIC, "fichier.txt");
while ($lignes = <$FIC>){
// champs
$champ1 = substr($lignes, 0,8);
$champ2 = ...;
...
while($rs = $sth->fetchrow_hashref(){
// champs
${"tabhash_champs$i"}{cle1} = substr($rs, 0, 8);
...
// Affectation d'un tableau de hashage
$tab_lignesMVS[$i] = \%{"tabhash_champs$i"};
}
}
Après cela suppose de faire des comparaisons champ à champ ligne par ligne ???
Est-ce que qqn peut m'aider ?
Merci d'avance.
|