Se connecter avec
S'enregistrer | Connectez-vous

PL/SQL curseur

Dernière réponse : dans Programmation

Bonjour à tous,
je tiens à préciser que je débute dans le PL/SQL!!
voila ma config:
apache 1.3
Oracle 9i
PHP 5.0 (pour le moment impossibilite de compiler avec --with-oci et --with-oracle)

voici ce que je veux faire:
j'ai une table commande sur laquelle je dois recuperer des valeurs (c_appli, c_cde, c_post_cde). Pour chacun de ces enregistrements, je dois vérifier si le triplet existe dans la tale facture, et s'il existe, je dois faire une maj de la table.

Je dispose de 2 methodes (soit passer par des fichiers, ce qui est tres couteux en temps, j'ai essayé )
soit je pense essayer d'ecrire un curseur dans un fichier que j'appelerai avec sqlplus.

j'ai ecrit ceci:
Code :

. /home/itools/profile_9i.RT
sqlplus -s <<EOF
usr/password@PER
spool essai2
DECLARE
CURSOR param is
select c_post_cde, c_cde, c_appli from commande where c_cd='01' and c_sa='XH' AND c_ent='
ENTRP00006' and d_cde = to_date ('10/02/2005', 'DD/MM/YYYY');

var commande%TYPE; //je suis pas sur ici, etant donné que je veux que les 3 fameuses valeurs)

BEGIN
OPEN param;
LOOP
FETCH param INTO var;
select count(*) from facture AS f where f.c_appli=var.c_appli and f.c_post_cde=var.c_post_c
de and f.c_c_cde= var.c_cde;
//et c la que je sais pas quoi faire... style comment tester comment le count(*) vaut ou pas???

exit when param%NOTFOUND
end loop;
end;


spool off
EOF




si vous pouviez m'aider a remplir le milieu ce serait vraiment super sympa,je galere un peu la...


Merci et desole si cette question peut paraitre stupide, elle ne l'est pas pour moi

Autres pages sur : sql curseur

Lassé par la pub ? Créez un compte

Whoa


nachi a dit :
Bonjour à tous,

BEGIN
OPEN param;
LOOP
FETCH param INTO var;
select count(*) from facture AS f where f.c_appli=var.c_appli and f.c_post_cde=var.c_post_c
de and f.c_c_cde= var.c_cde;



c'est pas du tout bon ! :non: 
Le mieux pour toi c'est que tu suive un tuto sur les curseurs

je te conseil http://sheikyerbouti.developpez.com/pl_sql
Si c'est un peu trop compliqué tu peux aussi aller sur http://www.waanser.com/oracle/110-les-curseurs-en-plsql.html. Il rentre moins dans les détails mais c'est plus simple à comprendre.

Je t'aide pas beaucoup mais le mieux c'est vraiment que t'apprennes par toi même :D 
Lassé par la pub ? Créez un compte