Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/08/2006, 09h37   #1
Invité de passage
 
Inscription : août 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 10
Points : 2
Points : 2
Par défaut pl/sql : Curseur et incrementation de sa variable

bonjour, je voudrais incrementer pour chaque tour de boucle du curseur la valeur de sa variable

cursor c_insert( nline in number)
is select * from article;
v_insert c_insert%rowtype;

nline := 1;
open c_insert(nline);
fetch c_insert into v_insert;
while c_insert%found loop
insert into TEMP......
end loop;
comment incrementer la valeur de nline...??
j'ai essaye de fermer le curseur dans la boucle while, puis d'incrementer nline puis de reouvrir c_insert avec la nouvelle valeur de nline ms ca marche po ..!

msi d'avance pour vos reponses!!!!
ra_inah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2006, 09h43   #2
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Je ne comprends pas à quoi sert le paramètre nline dans ton curseur puisque tu n'y fais pas référence.

NB : Merci de penser aux balises code qui améliore la lisibilité.
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2006, 09h47   #3
Invité de passage
 
Inscription : août 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 10
Points : 2
Points : 2
CURSOR c_insert(nline in number ) is
select * from article
where NUM_LIG = nline
and POIDS_SEM1 <> '';
v_insert c_insert%rowtype;
ra_inah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2006, 09h57   #4
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Essaie quelque chose comme cela :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
declare
   CURSOR c_insert(nline IN number ) IS 
        SELECT * FROM article
        WHERE NUM_LIG = nline
          AND POIDS_SEM1 <> ''; 
   v_insert c_insert%rowtype;
begin
   nline := 1;
   while nline < valeur_maxi loop
        FOR v_insert IN c_insert (nline) loop
             INSERT INTO TEMP......
        end loop;
   end loop;
end;
Avec les balises code, c'est plus lisible, non ?
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2006, 09h59   #5
Invité de passage
 
Inscription : août 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 10
Points : 2
Points : 2
je test de suite ...
ra_inah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2006, 10h02   #6
Invité de passage
 
Inscription : août 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 10
Points : 2
Points : 2
Merci.... tro cool..ca marche!
ra_inah est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h13.


 
 
 
 
Partenaires

Hébergement Web