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 :

Insérer les valeurs d'une table dans une autre [10gR2]


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 71
    Points : 52
    Points
    52
    Par défaut Insérer les valeurs d'une table dans une autre
    Bonjour à tous,
    j'ai 2 tables, T_REPORT (1) et T_EXPORT_REPORT, (2), avec quasiment les mêmes champs (la table T_REPORT possède les mêmes champs que T_EXPORT_REPORT, avec un champ en plus, "REPORT_FLOW").
    Je désire compléter la table (1) avec les données de la table (2). Seule chose à préciser : le champ "REPORT_FLOW" dans la table (1) sera à "EXPORT".

    Je tente la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    insert into t_report
        (ID, REPORT_FLOW, REPORT_MODE, REPORT_TYPE, START_DATE, END_DATE, START_PROCESS, END_PROCESS)
      values (select SEQ_REPORT_ID.nextval, 'EXPORT', er.export_mode, er.type, er.start_date, er.end_date, er.start_process, er.end_process 
              from t_export_report er);
    Avec "SEQ_REPORT_ID" le nom de la séquence pour incrémenter les ID de la table T_REPORT
    Mais j'obtiens l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Erreur à la ligne de commande : 23, colonne : 10
    Rapport d'erreur :
    Erreur SQL : ORA-00936: expression absente
    00936. 00000 -  "missing expression"
    *Cause:    
    *Action:
    Pourtant, quand je fais la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select SEQ_REPORT_ID.nextval,  'EXPORT', er.export_mode, er.type, er.start_date, er.end_date, er.start_process, er.end_process from t_export_report er
    , j'obtiens bien la liste des données de la table et des nouveaux ID incrémentés.

    Je ne vois pas d'où peut venir le problème ... Qu'est ce qui manque à ma requête de remplissage de la table T_REPORT par l'ancienne table T_EXPORT_REPORT pour qu'elle fonctionne ?

    Cordialement,

  2. #2
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Salut,
    C'est juste une erreur de syntaxe :


    INSERT INTO t_report
    (ID, REPORT_FLOW, REPORT_MODE, REPORT_TYPE, START_DATE, END_DATE, START_PROCESS, END_PROCESS)
    VALUES (SELECT SEQ_REPORT_ID.NEXTVAL, 'EXPORT', er.export_mode, er.type, er.start_date, er.end_date, er.start_process, er.end_process
    FROM t_export_report er);


    => Uilises values quand tu veux spécifier une seule ligne à insérer, dont les valeurs ne proviennent pas d'un SELECT.

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  3. #3
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 71
    Points : 52
    Points
    52
    Par défaut
    Thanks !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. copier une table d'une BDD dans une table d'une autre BDD
    Par faniette dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/05/2013, 10h17
  2. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  3. [AC-2003] insert des données d'une table dans une table d'une base externe
    Par marieo dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/11/2009, 14h29
  4. Réponses: 3
    Dernier message: 13/01/2009, 16h55
  5. Insérer les valeurs d'un tableau dans une table
    Par Konami15 dans le forum ASP
    Réponses: 30
    Dernier message: 30/09/2008, 15h14

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