Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
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 30/04/2008, 11h28   #1
Membre actif
 
Étudiant
Inscription : février 2008
Messages : 224
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2008
Messages : 224
Points : 185
Points : 185
Par défaut [Oracle 9i] Utiliser un record en dynamic SQL

Bonjour,

Je déclare un cursor qui fait un select * sur une table spécifiée par l'utilisateur. Ensuite je parcours le cursor en stockant dans un record. Et ensuite je veux insérer dans une table la valeur du record. Le problème est qu'il faut que je connaisse la structure de la table. En manuel ca marche mais je ne vois pas comment le faire en dynamique :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
DECLARE
CURSOR cur IS
SELECT * FROM &TABLE;
rec &table%ROWTYPE;
...
begin
...
loop
FETCH cur INTO rec;
EXIT WHEN cur%NOTFOUND;
INSERT INTO &table2 VALUES
(rec.empno,
rec.ename,
rec.job,
rec.mgr,
rec.hiredate,
rec.sal,
rec.comm,
rec.deptno);
end loop;
CLOSE FLASH_RECOVER;
commit;
end;
/
Comme vous pouvez le voir les colonnes sont indiquées manuellement et j'aimerai pouvoir le faire dynamiquement. Comment faire ? POur un update on peut utiliser le ROW mais pas pour un insert apparement...

Merci.
Milo59000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 13h03   #2
Membre Expert
 
Homme sébastien
Développeur informatique
Inscription : octobre 2006
Messages : 1 173
Détails du profil
Informations personnelles :
Nom : Homme sébastien
Âge : 29
Localisation : Argentine

Informations professionnelles :
Activité : Développeur informatique
Secteur : Finance

Informations forums :
Inscription : octobre 2006
Messages : 1 173
Points : 1 372
Points : 1 372
Envoyer un message via Skype™ à Vld44
Hum de mémoire, ayant été confronté au même problème, j'ai du générer un execute immediate dynamique de malade
Vld44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2008, 13h22   #3
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 534
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 534
Points : 6 471
Points : 6 471
Jetez un oeil à l'article suivant
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2008, 20h24   #4
Nouveau Membre du Club
 
Inscription : novembre 2006
Messages : 113
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 113
Points : 32
Points : 32
Bonjour,

Le lien suivant est très interessant, jette un coup ...
http://sheikyerbouti.developpez.com/execute_immediate/

Bonne chance
fatati est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h58.


 
 
 
 
Partenaires

Hébergement Web