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) :
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
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
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;
Avec un script perl je fais les operations necessaires. Puis je dois importer en base et c'est la ou je bloque.
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.