Bonjour,

J'ai deux tables: "session_client" et "fichier"
Je crée un curseur qui est le résultat d'une requête sur "session_client" :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
cursor c_sessions is select * from session_client where ... ;
Puis je parcours mon cuseur:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
for c_l in c_sessions
loop
A ce moment j'aimerais insérer dans la table "fichier", un champ de mon tuple courant de mon curseur seulement si celui-ci n'est pas déjà présent dans la table "fichier".
J'ai donc écris ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
INSERT INTO fichier (lib_fichier)
            SELECT c_l.fichier FROM c_sessions
            WHERE c_l.fichier NOT IN
            (SELECT lib_fichier FROM fichier);
Mais cela ne fonctionne pas! J'ai l'erreur suivante:
PL/SQL: ORA-00942: Table ou vue inexistante
en me désigant mon instruction "FROM c_sessions".
Si je ne peux pas utiliser un curseur dans ma clause FROM, je ne vois pas comment résoudre mon problème!

Quelqu'un a-t-il une solution susceptible de m'aider? Ou une explication? Merci d'avance!