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

Administration Oracle Discussion :

ora-000942 : table ou vue inexistante


Sujet :

Administration Oracle

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut ora-000942 : table ou vue inexistante
    EXECUTE IMMEDIATE 'CREATE TABLE buarg(x INTEGER)';

    INSERT INTO buarg
    SELECT
    ...
    Salut, en compilant ça j'obtiens une erreur ora-000942 : table ou vue inexistante au moment de l'INSERT. Ca ne me semble pas être une question de droit ou de conflits de droits : je peux CREATE et INSERT et le tout est dans la même procédure. Quelqu'un aurait un indice svp ?

  2. #2
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Au moment au tu compiles ta procédure ta table buar n'est pas créée puisqu'elle ne sera qu'à l'exécution de ta procédure (via le execute immediate).

    => soit tu crées ta table avant de compiler ta procédure, c'est à dire en dehors de ta procédure (la meuilleure solution)

    => soit tu gères l'insertion dans un execute immediate

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    In fact i want to 'CREATE TEMPORARY TABLE IF NOT EXISTS f(x)' in a procedure , is there any other way to cast a create in a procedure and being able to insert into the created table in hte same procedure ?

  4. #4
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Merci de faire l'effort de parler français, c'est un forum francophone

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Lol ... j'ai switché d'un forum anglais à celui-ci sans me rendre compte de la différence ... désolé

    En fait je veux créer une table temporaire, le temps de la procedure, pour ne pas polluer la base ... je ne peux donc pas la créer avant ... Je voulais juste savoir s'il y avait un autre moyen d'invoquer un 'CREATE TEMPORARY TABLE IF NOT EXISTS f(x)' dans une procedure sans mettre quasiment tout le reste en EXECUTE IMMEDIATE ... Désole de demander ça mais je n'arrive pas à trouver un tutorial qui ne m'enseigne autre chose que des bases.

  6. #6
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Pas à ma connaissance.

    Tu comprends bien que tu ne vas pas pouvoir faire un insert dans une table inexistante. C'est donc logique qu'oracle t'envoie une erreur à la compilation de ta procédure.

    Si ta procédure est exécutée souvent, à chaque fois tu vas créé une table puis la supprimer, c'est pas terrible comme solution.

    Sinon, tu peux toujours faire un create table as select ... dans un execute immediate.

Discussions similaires

  1. ORA-00942 Table ou vue inexistante
    Par BONNEFOI Patrick dans le forum Oracle
    Réponses: 9
    Dernier message: 02/10/2014, 15h40
  2. ORA 00942:table ou vue inexistante
    Par bibouu dans le forum Débuter
    Réponses: 3
    Dernier message: 29/04/2011, 23h36
  3. ORA-00942 Table ou vue inexistante
    Par nouraty dans le forum PL/SQL
    Réponses: 6
    Dernier message: 08/02/2011, 03h43
  4. Réponses: 4
    Dernier message: 21/03/2009, 01h35
  5. ORA-00942 Table ou vue inexistante
    Par mullger dans le forum SQL
    Réponses: 8
    Dernier message: 10/09/2007, 20h01

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