Aller au contenu

Déconcaténation ?!?


UniKorn

Messages recommandés

Salut les morpions,

Dans le cadre d'un transfert de compétence de mon poste vers une autre SSII qui a raflé le contrat, je cherche un moyen simple de générer de la requête SQL en automatique.

J'ai un outil développé par mes soins qui fonctionne très bien sous MVS (un truc à base de REXX) mais comme je suis rancunier, je cherche une autre solution à proposer car nous présentons notre métier aux repreneurs mi-Mars.

On part d'un CSV avec une colonne de codage d'environnement, je cherche à séparer ce fichier en quatres autres distinct en fonction du code en question qui correspond en gros au suffixe de la base de donnée installée sur l'une des quatres machines.

Quelqu'un aurait une solution simple (outil Windows, Regex Uedit ou Notepad++, ...) ?

Pas de macro excel svp, je suis méchant mais pas à ce point :)

Merci par avance.

Lien à poster

Je n'ai pas été très clair, il faut dire.

Le csv :

A0;1111

B2;2222

E0;3333

...

A0 et E0 sont des BDD de la machine 1

B2 est une BDD de la machine 2

J'aimerais avoir un fichier par machine, en gros, avec

fichier 1

select * from a0 where client = 1111;

select * from e0 where client = 3333;

fichier 2:

select * from b2 where client = 2222;

Lien à poster

Idée de goret :

http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=Column_Editing

Ca te permet d'ajouter simplement le "select * from " devant la première colonne et de remplacer le ';' par " where client = " devant la seconde.

Il y a plus intelligent, je sais, mais tu as mis Notepad++ dans la liste des solutions acceptées. :p

Pour la séparation en 2 fichiers, tu le fais à coup de regexp sur la première colonne grâce à N++.

Lien à poster

En perl sous windows, ça ne saurait être trop compliqué : http://www.activestate.com/activeperl

Tu te bases sur le 0 de A0 pour savoir de quelle machine tu parles ?

Avec un split sur le signe ";" pour chaque ligne, tu récupères tes deux valeurs dans $BDD et $client, tu tronques ton $BDD pour déterminer dans quel fichier écrire , et apres tu concatènes les différents éléments, en intercalant les phrases communes, du style : "select * from ".$BDD." where client=".$client

ou dans un autre langage dispo sous windows ...

...

...

Lien à poster

mouis, au titre, c'est immédiatement ce à quoi j'ai pensé : split.

Ensuite, selon le contexte...

Brutalement, je t'aurais proposé un petit programme C# lisant le fichier et réalisant ce split.

Ça doit être également possible en powershell (comme ça, tu restes sous win et avec un côté script).

Lien à poster
×
×
  • Créer...