Les Allergies
Alimentaires
Posez votre question Signaler

Erreur de compilation PL/SQL

kazaki48 1Messages postés 30 septembre 2003Date d'inscription - Dernière réponse le 14 janv. 2008 à 14:22
Bonjour,

je travail avec oracle 10g, qd je veu lister les
tables qui appartiennent à l'ulisateur MOUTOUT, le
résultat est positif :

SQL> select table_name from dba_tables where owner ='MOUTOUT';

TABLE_NAME
------------------------------
TEST
BIN$xryPUKITQwCKgpeSJNS0iw==$0
DIR_LIST
TAB_LOAD_DATA_DETAIL
TAB_LOAD_FAIL_DETAIL
BIN$m5ebfVr7QPSf+46sOp9hTA==$0
6 ligne(s) sélectionnée(s).


mais quand j'utilise la même requette dans une
procedure, ya des erreurs de compilation :

SQL> CREATE or replace PROCEDURE MOUTOUT.proc1
2 as
3 begin
4 select table_name from dba_tables where owner ='MOUTOUT';
5 end;
6 /
Avertissement : Procédure créée avec erreurs de
compilation.


je visualise les erreurs (Table inexistante !!):

SQL> show errors
Erreurs pour PROCEDURE MOUTOUT.PROC1 :

LINE/COL ERROR
-------------------------------------------------------------------------
4/1 PL/SQL: SQL Statement ignored
4/24 PL/SQL: ORA-00942: Table ou vue inexistante

SVP quelqu'un peut il me dire la cause ?

Merci d'avance.
Lire la suite 

Erreur de compilation PL/SQL »

1 réponses
Réponse
+3
moins plus
Tu as probablement les droits en lecture sur cette table, mais à travers un rôle qui t'a été attribué et qui en a le droit.
Mais lors de l'exécution du code PL/SQL, les droits possédés via un rôle sont inopérants. Il faut donc que le privilège t'ait été explicitement et nominativement attribué via un ordre GRANT SELECT ON latable TO leUser.

Ceci, je viens de remarquer une autre erreur dans ton code : un select sans une clause INTO...
Ajouter un commentaire
Ce document intitulé « Erreur de compilation PL/SQL » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?