Oracle: manipulation du curseur avec oracle
                                    
                        hammag                    
                                    -
                                     
sandul Messages postés 4013 Statut Membre -
        sandul Messages postés 4013 Statut Membre -
        bonjour,
voici mon problème :
je cherche à remplir avec des données une table TAB2, cette dernière table contient un champ id que je doit le récuperer dans une autre table TAB1.
j'ai cherché sur le web et j'ai trouvé que le curseur est la réponse à ma question. Donc, j'ai essayé avec cette requête :
[CODE]
DECLARE id varchar(10); CURSOR curseur1 IS SELECT oprid FROM TAB1;
BEGIN
OPEN curseur1;
LOOP
FETCH curseur1 INTO id;
insert into TAB2 ('xxx', id, 'yyy')
EXIT WHEN curseur1%NOTFOUND;
END LOOP;
END;
[/CODE]
mais ca marche pas,
svp, j'ai besoin d'aide:help:
                
            
                
    
    
    
        voici mon problème :
je cherche à remplir avec des données une table TAB2, cette dernière table contient un champ id que je doit le récuperer dans une autre table TAB1.
j'ai cherché sur le web et j'ai trouvé que le curseur est la réponse à ma question. Donc, j'ai essayé avec cette requête :
[CODE]
DECLARE id varchar(10); CURSOR curseur1 IS SELECT oprid FROM TAB1;
BEGIN
OPEN curseur1;
LOOP
FETCH curseur1 INTO id;
insert into TAB2 ('xxx', id, 'yyy')
EXIT WHEN curseur1%NOTFOUND;
END LOOP;
END;
[/CODE]
mais ca marche pas,
svp, j'ai besoin d'aide:help:
        A voir également:         
- Oracle: manipulation du curseur avec oracle
 - Oracle america inc virus ✓ - Forum Virus
 - Telecharger oracle virtualbox - Télécharger - Émulation & Virtualisation
 - Taille tablespace oracle - Forum Oracle
 - Find oracle sid ✓ - Forum Bases de données
 - Oracle 904 ✓ - Forum Bases de données
 
6 réponses
                        
                    Salut,
Corrige ceci:
Sinon, pourquoi ne pas utiliser simplement un
++
    
                Corrige ceci:
insert into TAB2 ('xxx', id, 'yyy') ; (point-virgule à la fin)
Sinon, pourquoi ne pas utiliser simplement un
insert into TAB2 (col1, col2, col3) select ('xxx', id, 'yyy') from TAB1 où col1, col2 et col3 sont les noms des 3 colonnes conernées ?
++
                        
                    non, en fait je veux copier juste un champ de la table TAB1 : id,
les deux autre champs ne sont pas dans TAB1.
    
                les deux autre champs ne sont pas dans TAB1.
                        
                    Justement c'est pour cela que je les ai mis entre quotes. Ce ne sont pas des colonnes de TAB1 mais des constantes. On peut très bien avoir une table TAB1 ayant une seule colonne (oprid) et faire un select retournant 3 colonnes comme ci-dessus
                
                
    
                Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question