Bonjour,
je suis un peu bloque et je n ai jamais utilise PL/SQL donc avant de me lancer je voudrais svoir si c est possible et avoir des infos pour le faire.
En base, j ai ca (tres simplifie) :
J'ai besoin de faire des modifications sur les valeurs de la colonne rate (pour resumer la valeur au rang n doit etre n moins n-1) et seul les lignes ou specnum veut 1 m interesse. Bref avec la requete suivante j'obtiens ce que je veux (en realite il y a beaucoup lus que 4 resultat) et je place le resultat dans un fichier txt avec un pipe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 specnum date ccy id rate 0 2010 eur eod 0.032 0 2010 eur eod 0.50 1 2010 eur eod 0.1975 1 2010 eur eod 0.1975 1 2010 eur eod 0.2000 1 2010 eur eod 0.1328 2 2010 eur eod 0.1975
Avec un script perl je fais les operations necessaires. Puis je dois importer en base et c'est la ou je bloque.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT o.MIDRATE FROM dmmktdata p, dmmktpoint o where p.ccy = 'USD' AND p.dmindex = 'OIS' AND p.ID = 'EODDT' AND p.ASOFDATE = '20100407' AND o.DMSPECNUM='1' AND p.dmmktdataid=o.dmmktdataid;
Je veux utiliser UPDATE nom_table SET MIDRATE = ligne_correspondante_fichier ...
mais je dois l inserer dans la bonne ligne et c est la ou je coince.
Est ce que vous pourriez m'eclairer la dessus.
2eme question est ce que je ne pourrais pas faire tout ca dans un seul script PL/SQL au lieu d'avoir un script sql qui ecrit dans un txt, un perl qui modifie le txt pus un autre script pour updater
Merci
P.S:sorry clavier anglais j'ai pas les accents.
Partager