erreur avec pl/sql , requete dynamique

erreur avec pl/sql , requete dynamique - SQL/NoSQL - Programmation

Marsh Posté le 01-04-2006 à 16:31:34    

salut,
 
J'essai de faire une procedure stocker dans laquel j'ai une requete dynamique qui me permet à partir du parametre de la procedure de creer une vue d'une table :
voila mon code

Code :
  1. create or replace procedure vue(tabi varchar) authid current_user is
  2. rq varchar(255);
  3. begin
  4. rq:= 'create view att_'||tabi||' as select column_name,data_type from user_tab_columns where table_name="'||upper(tabi)||'"';
  5. execute immediate rq;
  6. end;
  7. /


 
j'ai l erreur suivant

Citation :


SQL> execute vue(pilote);
BEGIN vue(pilote); END;
          *
ERREUR à la ligne 1 :
ORA-06550: Ligne 1, colonne 11 :
PLS-00357: Référence de Table, Vue ou Séquence 'PILOTE' non autorisée dans ce
contexte
ORA-06550: Ligne 1, colonne 7 :
PL/SQL: Statement ignored


 
 
Merci.

Reply

Marsh Posté le 01-04-2006 à 16:31:34   

Reply

Marsh Posté le 01-04-2006 à 16:35:13    

SQL > exec vue('pilote');

Reply

Marsh Posté le 03-04-2006 à 09:38:41    

t'as mis des " au lieu de '
 
table_name="'||upper(tabi)||'"' -> table_name='''||upper(tabi)||'''

Reply

Marsh Posté le 03-04-2006 à 13:07:02    

Merci de m'avoir aidé à tous  :)  
en faite au depart j'avais mis des quotes simples;puis j'ai essayer avec des doubles mais bon cela n'a rien changer.
Et l'erreur venaite du faite que lorsque j'appelais ma procedure
je ne mettais pas de quote simple  
je faisais cela execute vue(pilote) au lieu de vue('pilote');
 
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed