nachi
Nouveau membre
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
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