IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

Erreur Execute Immediate


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2006
    Messages : 50
    Points : 50
    Points
    50
    Par défaut Erreur Execute Immediate
    Bonjour,

    J'essaie de lancer un ordre de création de VUE à travers FORMS 6i.

    1) J'ai une table Toto (id, libelle) sur laquelle ma vue va se faire.

    2) J'ai une procédure paramétrée de création de vue:

    CREATE OR REPLACE PROCEDURE creer_vue_param (v_column in varchar2 , v_select varchar2, v_from varchar2) IS
    begin
    execute immediate ' create or replace view VUE_TOTO '
    ||v_column||
    ' as select '
    || v_select||
    ' from '
    || v_from ;
    end;

    3) Au lancement en test, je passe en parametre ceci , sans être en Forms :

    DECLARE
    V_COLUMN VARCHAR2(200);
    V_SELECT VARCHAR2(200);
    V_FROM VARCHAR2(200);

    BEGIN
    V_COLUMN := 'p1;
    V_SELECT := ' libelle ';
    V_FROM := 'Toto';

    CREER_VUE_PARAM ( V_COLUMN, V_SELECT, V_FROM );
    COMMIT;
    END;
    /

    4) J'obtiens ceci comme erreur :

    Error: ORA-00905: missing keyword
    ORA-06512: at "CREER_VUE_PARAM", line 3
    ORA-06512: at line 11


    Y aurait-il une Keyword oublié que mes yeux fatigués n'arrivent plus à voir ?

    SVP

    Merci,

  2. #2
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Comme toujours en cas de SQL dynamique, placer a chaine dans une variable afin de pouvoir en vérifier le contenu et de la lancer à la main. Sinon, vous travaillez en aveugle et pouvez perdre beaucoup de temps à comprendre ce qui cloche.

Discussions similaires

  1. [sql dynamique] Erreur avec EXECUTE IMMEDIATE
    Par Foublanc1 dans le forum SQL
    Réponses: 0
    Dernier message: 06/05/2013, 14h46
  2. Erreur EXECUTE IMMEDIATE
    Par mrman dans le forum Oracle
    Réponses: 2
    Dernier message: 24/07/2012, 12h09
  3. EXECUTE IMMEDIATE : erreur "missing coma"
    Par providence dans le forum PL/SQL
    Réponses: 9
    Dernier message: 11/05/2010, 19h55
  4. Réponses: 5
    Dernier message: 07/08/2007, 12h20
  5. [PLSQL] Erreur 00922 sur Execute immediate
    Par Henrisbg dans le forum Oracle
    Réponses: 5
    Dernier message: 17/11/2005, 16h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo