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

PL/SQL Oracle Discussion :

Importer les données d'une table dans une autre


Sujet :

PL/SQL Oracle

  1. #21
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 273
    Points : 46
    Points
    46
    Par défaut
    Y a t-il une erreur au niveau du code?

  2. #22
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 386
    Points
    18 386
    Par défaut
    Nul besoin de jointure externe (je me demande où avez-vous pu lire ceci).

    Ce que mnitu vous disait se traduit ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    MERGE INTO PPP_MAIN_TRANSFERT D
    USING (
        SELECT 
          UPP_NAM, UPP_FNA, UPP_LOG, UPP_PWD, UPP_STA, UPP_INM, UPP_END, UPP_MEL, UPP_IPA, UPP_SST, UPP_PSS, TIT_KEY, CIV_KEY, AUD_KEY,  
          UPP_PPW, UPP_DPW, UPP_TIC, UPP_SUD, UPP_INN, CPS_KEY, MAU_KEY, UPP_WWI, UPP_EXT, UPP_UPD, UPP_SGN, UPP_DAD, UPP_DAF, UPP_AMS
        FROM PPP_UPP
          ) S
         ON (D.PER_NAM = S.UPP_NAM
         AND D.PER_FNA = S.UPP_FNA
         AND D.UPP_LOG = S.UPP_LOG)
    WHEN MATCHED THEN
    UPDATE SET D.UPP_PWD = S.UPP_PWD,
          D.UPP_STA = S.UPP_STA, D.UPP_INM = S.UPP_INM, D.UPP_END = S.UPP_END, D.UPP_MEL = S.UPP_MEL,
          D.UPP_IPA = S.UPP_IPA, D.UPP_SST = S.UPP_SST, D.UPP_PSS = S.UPP_PSS, D.TIT_KEY = S.TIT_KEY,
          D.CIV_KEY = S.CIV_KEY, D.AUD_KEY = S.AUD_KEY, D.UPP_PPW = S.UPP_PPW, D.UPP_DPW = S.UPP_DPW,
          D.UPP_TIC = S.UPP_TIC, D.UPP_SUD = S.UPP_SUD, D.UPP_INN = S.UPP_INN, D.CPS_KEY = S.CPS_KEY,
          D.MAU_KEY = S.MAU_KEY, D.UPP_WWI = S.UPP_WWI, D.UPP_EXT = S.UPP_EXT, D.UPP_UPD = S.UPP_UPD, 
          D.UPP_SGN = S.UPP_SGN, D.UPP_DAD = S.UPP_DAD, D.UPP_DAF = S.UPP_DAF
    WHEN NOT MATCHED THEN
    INSERT
      (
        UPP_NAM, UPP_FNA, UPP_LOG, UPP_PWD, UPP_STA, UPP_INM, UPP_END, 
        UPP_MEL, UPP_IPA, UPP_SST, UPP_PSS, TIT_KEY, CIV_KEY, AUD_KEY, 
        UPP_PPW, UPP_DPW, UPP_TIC, UPP_SUD, UPP_INN, CPS_KEY, MAU_KEY, 
        UPP_WWI, UPP_EXT, UPP_UPD, UPP_SGN, UPP_DAD, UPP_DAF, UPP_AMS
      )
    VALUES 
      (
        S.UPP_NAM, S.UPP_FNA, S.UPP_LOG, S.UPP_PWD, S.UPP_STA, S.UPP_INM, S.UPP_END, 
        S.UPP_MEL, S.UPP_IPA, S.UPP_SST, S.UPP_PSS, S.TIT_KEY, S.CIV_KEY, S.AUD_KEY, 
        S.UPP_PPW, S.UPP_DPW, S.UPP_TIC, S.UPP_SUD, S.UPP_INN, S.CPS_KEY, S.MAU_KEY, 
        S.UPP_WWI, S.UPP_EXT, S.UPP_UPD, S.UPP_SGN, S.UPP_DAD, S.UPP_DAF, S.UPP_AMS
      );

  3. #23
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Peut-être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    MERGE INTO ppp_main_transfert D
       USING ( SELECT 
    upp_nam,upp_fna,upp_log,upp_pwd,upp_sta,upp_inm,upp_end,upp_mel,upp_ipa,upp_sst,upp_pss,tit_key,civ_key,aud_key,upp_ppw,
    upp_dpw,upp_tic,upp_sud,upp_inn,cps_key,mau_key,upp_wwi,upp_ext,upp_upd,upp_sgn,upp_dad,upp_daf,upp_ams
        FROM ppp_upp ) S
     ON (D.PER_NAM = S.UPP_NAM
            AND D.PER_FNA  = S.UPP_FNA
            AND D.UPP_LOG  = S.UPP_LOG)
       WHEN MATCHED THEN UPDATE 
          SET D.UPP_PWD = S.UPP_PWD, D.UPP_DAD = S.UPP_DAD, D.UPP_DAF = S.UPP_DAF, D.UPP_SGN = S.UPP_SGN,
              D.UPP_STA = S.UPP_STA, D.UPP_INM = S.UPP_INM, D.UPP_END = S.UPP_END, D.UPP_MEL = S.UPP_MEL,
              D.UPP_IPA = S.UPP_IPA, D.UPP_SST = S.UPP_SST, D.UPP_PSS = S.UPP_PSS, D.TIT_KEY = S.TIT_KEY,
              D.CIV_KEY = S.CIV_KEY, D.AUD_KEY = S.AUD_KEY, D.UPP_PPW = S.UPP_PPW, D.UPP_DPW = S.UPP_DPW,
              D.UPP_TIC = S.UPP_TIC, D.UPP_SUD = S.UPP_SUD, D.UPP_INN = S.UPP_INN, D.CPS_KEY = S.CPS_KEY,
              D.MAU_KEY = S.MAU_KEY, D.UPP_WWI = S.UPP_WWI, D.UPP_EXT = S.UPP_EXT, D.UPP_UPD = S.UPP_UPD          
       WHEN NOT MATCHED THEN INSERT VALUES 
              (
    S.UPP_NAM,S.UPP_FNA,S.UPP_LOG,S.UPP_PWD,S.UPP_STA,S.UPP_INM,S.UPP_END,
    S.UPP_MEL,S.UPP_IPA,S.UPP_SST,S.UPP_PSS,S.TIT_KEY,S.CIV_KEY,S.AUD_KEY,
    S.UPP_PPW,S.UPP_DPW,S.UPP_TIC,S.UPP_SUD,S.UPP_INN,S.CPS_KEY,S.MAU_KEY,
    S.UPP_WWI,S.UPP_EXT,S.UPP_UPD,S.UPP_SGN,S.UPP_DAD,S.UPP_DAF,S.UPP_AMS
              );
    Après, faudrait aussi essayer de comprendre pour écrire la requête correctement. Le forum est fait pour t'aider, pas pour faire ton boulot.

  4. #24
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Citation Envoyé par Waldar Voir le message
    ...Ce que mnitu vous disait se traduit ainsi :
    ...
    Et moi, qui n’ai pas voulu lui donner sa requête toute fait …

  5. #25
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 273
    Points : 46
    Points
    46
    Par défaut
    Je sais très bien que vous êtes là pour m'aider et non pour faire mon boulot je suis vraiment débutant et j'ai besoin de votre aide et là en testant le code que vous m'avez posté j'ai toujours un message d'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-00947: nombre de valeurs insuffisant

  6. #26
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Google est ton ami

  7. #27
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 273
    Points : 46
    Points
    46
    Par défaut
    En fait ma table transfert comprend des colonnes de plusieurs autres tables et ma table ppp_upp contient certaines colonnes de ma table transfert. Donc ce que je souhaite faire c'est mettre à jour ma table ppp_upp en fonction de ma table transfert.

    Donc, là j'ai inversé les noms des tables et j'ai l'erreur que j'ai cité précédemment

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    MERGE INTO ppp_upp D
       USING ( SELECT 
    per_nam,per_fna,upp_log,upp_pwd,upp_sta,upp_inm,upp_end,upp_mel,upp_ipa,upp_sst,upp_pss,tit_key,civ_key,aud_key,upp_ppw,
    upp_dpw,upp_tic,upp_sud,upp_inn,cps_key,mau_key,upp_wwi,upp_ext,upp_upd,upp_sgn,upp_dad,upp_daf,upp_ams
        FROM ppp_main_transfert ) S
     ON (D.UPP_NAM = S.PER_NAM
            AND D.UPP_FNA  = S.PER_FNA
            AND D.UPP_LOG  = S.UPP_LOG)
       WHEN MATCHED THEN UPDATE 
          SET D.UPP_PWD = S.UPP_PWD, D.UPP_DAD = S.UPP_DAD, D.UPP_DAF = S.UPP_DAF, D.UPP_SGN = S.UPP_SGN,
              D.UPP_STA = S.UPP_STA, D.UPP_INM = S.UPP_INM, D.UPP_END = S.UPP_END, D.UPP_MEL = S.UPP_MEL,
              D.UPP_IPA = S.UPP_IPA, D.UPP_SST = S.UPP_SST, D.UPP_PSS = S.UPP_PSS, D.TIT_KEY = S.TIT_KEY,
              D.CIV_KEY = S.CIV_KEY, D.AUD_KEY = S.AUD_KEY, D.UPP_PPW = S.UPP_PPW, D.UPP_DPW = S.UPP_DPW,
              D.UPP_TIC = S.UPP_TIC, D.UPP_SUD = S.UPP_SUD, D.UPP_INN = S.UPP_INN, D.CPS_KEY = S.CPS_KEY,
              D.MAU_KEY = S.MAU_KEY, D.UPP_WWI = S.UPP_WWI, D.UPP_EXT = S.UPP_EXT, D.UPP_UPD = S.UPP_UPD          
       WHEN NOT MATCHED THEN INSERT VALUES 
              (
    S.PER_NAM,S.PER_FNA,S.UPP_LOG,S.UPP_PWD,S.UPP_STA,S.UPP_INM,S.UPP_END,
    S.UPP_MEL,S.UPP_IPA,S.UPP_SST,S.UPP_PSS,S.TIT_KEY,S.CIV_KEY,S.AUD_KEY,
    S.UPP_PPW,S.UPP_DPW,S.UPP_TIC,S.UPP_SUD,S.UPP_INN,S.CPS_KEY,S.MAU_KEY,
    S.UPP_WWI,S.UPP_EXT,S.UPP_UPD,S.UPP_SGN,S.UPP_DAD,S.UPP_DAF,S.UPP_AMS
              );

  8. #28
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 386
    Points
    18 386
    Par défaut
    Citation Envoyé par Jinkas Voir le message
    En fait ma table transfert comprend des colonnes de plusieurs autres tables et ma table ppp_upp contient certaines colonnes de ma table transfert.
    Vraiment, ça commence mal, il vous manque la base de la base.

  9. #29
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 273
    Points : 46
    Points
    46
    Par défaut
    Je sais c'est pourquoi que j'ai précisé que je suis débutant !

  10. #30
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 273
    Points : 46
    Points
    46
    Par défaut
    C'est pas gentil lol

  11. #31
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 273
    Points : 46
    Points
    46
    Par défaut
    Imaginez que je vous parlais en chinois vous auriez eu les mêmes réactions que moi !!!

  12. #32
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Ca n'excuse rien. Là on en est réduit à deviner le travail qui t'es demandé, les éléments qui permettent de le faire et finalement te donner la solution finale.

    Ca dépasse de loin l'objet du forum. Je te prie donc de bien vouloir lire le lien que je t'ai envoyé pour comprendre la commande MERGE, rechercher la signification des messages d'erreurs que tu reçois, réfléchir à tout ça et finalement revenir quand tu as des questions précises et pas simplement : ça marche pas, qu'est ce qu'il faut faire pour que ça marche.

    Merci d'avance pour ta compréhension

  13. #33
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 273
    Points : 46
    Points
    46
    Par défaut
    Ok merci !

  14. #34
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 386
    Points
    18 386
    Par défaut
    Vraiment, sans chercher à vous nuire, si vous êtes au travail demandez une formation SQL, jusqu'à preuve du contraire il n'y a pas de honte à ne pas savoir faire ce qu'on n'a pas appris.

    Si vous êtes étudiant, n'hésitez pas à demander des éclaircissements à vos professeurs et camarades de classes.

    Si vous êtes étudiant et que vous avez séché tous les cours de base de données, achetez des livres ou allez à la bibliothèque !

    Il y a toujours au moins une solution à un défaut de connaissance, nous avons tous été débutant après tout.

  15. #35
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 273
    Points : 46
    Points
    46
    Par défaut
    la syntaxe de l'insert c'est bien

    ou


  16. #36
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 273
    Points : 46
    Points
    46
    Par défaut
    Est ce que je peux faire juste l'update d'abord comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     
    MERGE INTO PPP_UPP D 
    USING
      (SELECT PER_NAM,PER_FNA,UPP_LOG,UPP_PWD,UPP_STA,UPP_INM,UPP_END,
              UPP_MEL,UPP_IPA,UPP_SST,UPP_PSS,TIT_KEY,CIV_KEY,AUD_KEY,
              UPP_PPW,UPP_DPW,UPP_TIC,UPP_SUD,UPP_INN,CPS_KEY,MAU_KEY,
              UPP_WWI,UPP_EXT,UPP_UPD,UPP_SGN,UPP_DAD,UPP_DAF,UPP_AMS
         FROM PPP_MAIN_TRANSFERT) S 
     
    ON (D.UPP_NAM = S.PER_NAM AND D.UPP_FNA = S.PER_FNA AND D.UPP_LOG = S.UPP_LOG)
     
    WHEN MATCHED THEN
        UPDATE 
        SET D.UPP_PWD = S.UPP_PWD, D.UPP_DAD = S.UPP_DAD, D.UPP_DAF = S.UPP_DAF, D.UPP_SGN = S.UPP_SGN,
            D.UPP_STA = S.UPP_STA, D.UPP_INM = S.UPP_INM, D.UPP_END = S.UPP_END, D.UPP_MEL = S.UPP_MEL,
            D.UPP_IPA = S.UPP_IPA, D.UPP_SST = S.UPP_SST, D.UPP_PSS = S.UPP_PSS, D.TIT_KEY = S.TIT_KEY,
            D.CIV_KEY = S.CIV_KEY, D.AUD_KEY = S.AUD_KEY, D.UPP_PPW = S.UPP_PPW, D.UPP_DPW = S.UPP_DPW,
            D.UPP_TIC = S.UPP_TIC, D.UPP_SUD = S.UPP_SUD, D.UPP_INN = S.UPP_INN, D.CPS_KEY = S.CPS_KEY,
            D.MAU_KEY = S.MAU_KEY, D.UPP_WWI = S.UPP_WWI, D.UPP_EXT = S.UPP_EXT, D.UPP_UPD = S.UPP_UPD
    ca j'ai essayé et la table destination ne se met pas à jour (j'ai essayé de modifié le champs ams dans la table cible et j'ai exécuté l'update et j'ai eu comme message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    1 lignes fusionné
    mais la modification ne s'est pas faite

  17. #37
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    il faut lancer la commande pour valider la modification après un update, insert, delete ou merge.

  18. #38
    Membre confirmé

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    507
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 507
    Points : 503
    Points
    503
    Par défaut
    Citation Envoyé par Jinkas Voir le message
    la syntaxe de l'insert c'est bien

    ou

    Bonjour.

    Les deux syntaxes fonctionnent mais la seconde est préférable.

    Si vous utilisez la première, il faut que les valeurs dans "VALUES(...)" correspondent exactement à toutes les colonnes de la table.

    Si vous utilisez la seconde, dans le "INSERT(...)", vous précisez le nom des colonnes dont vous indiquez les valeurs ensuite. Dans ce cas, vous pouvez omettre les colonnes non obligatoires de la table.
    Cette syntaxe est préférable au moins pour une question de lisibilité et de maintenance du code.

  19. #39
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 273
    Points : 46
    Points
    46
    Par défaut
    Merci pour toutes les réponses mais à chaque fois que j'avance d'un pas j'ai une erreur.

    VOILA une autre erreur : Erreur SQL : ORA-00925: mot-clé INTO absent
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    MERGE INTO PPP_UPP D 
    USING
      (SELECT PER_NAM,PER_FNA,UPP_LOG,UPP_PWD,UPP_STA,UPP_INM,UPP_END,
              UPP_MEL,UPP_IPA,UPP_SST,UPP_PSS,TIT_KEY,CIV_KEY,AUD_KEY,
              UPP_PPW,UPP_DPW,UPP_TIC,UPP_SUD,UPP_INN,CPS_KEY,MAU_KEY,
              UPP_WWI,UPP_EXT,UPP_UPD,UPP_SGN,UPP_DAD,UPP_DAF,UPP_AMS
         FROM PPP_MAIN_TRANSFERT) S 
     
    ON (D.UPP_NAM = S.PER_NAM AND D.UPP_FNA = S.PER_FNA AND D.UPP_LOG = S.UPP_LOG)
     
    WHEN MATCHED THEN
        UPDATE 
        SET D.UPP_PWD = S.UPP_PWD, D.UPP_DAD = S.UPP_DAD, D.UPP_DAF = S.UPP_DAF, D.UPP_SGN = S.UPP_SGN,
            D.UPP_STA = S.UPP_STA, D.UPP_INM = S.UPP_INM, D.UPP_END = S.UPP_END, D.UPP_MEL = S.UPP_MEL,
            D.UPP_IPA = S.UPP_IPA, D.UPP_SST = S.UPP_SST, D.UPP_PSS = S.UPP_PSS, D.TIT_KEY = S.TIT_KEY,
            D.CIV_KEY = S.CIV_KEY, D.AUD_KEY = S.AUD_KEY, D.UPP_PPW = S.UPP_PPW, D.UPP_DPW = S.UPP_DPW,
            D.UPP_TIC = S.UPP_TIC, D.UPP_SUD = S.UPP_SUD, D.UPP_INN = S.UPP_INN, D.CPS_KEY = S.CPS_KEY,
            D.MAU_KEY = S.MAU_KEY, D.UPP_WWI = S.UPP_WWI, D.UPP_EXT = S.UPP_EXT, D.UPP_UPD = S.UPP_UPD,
    		D.UPP_AMS = S.UPP_AMS;
     
    WHEN NOT MATCHED THEN
     
    INSERT
      (
        UPP_NAM, UPP_FNA, UPP_LOG, UPP_PWD, UPP_STA, UPP_INM, UPP_END, 
        UPP_MEL, UPP_IPA, UPP_SST, UPP_PSS, TIT_KEY, CIV_KEY, AUD_KEY, 
        UPP_PPW, UPP_DPW, UPP_TIC, UPP_SUD, UPP_INN, CPS_KEY, MAU_KEY, 
        UPP_WWI, UPP_EXT, UPP_UPD, UPP_SGN, UPP_DAD, UPP_DAF, UPP_AMS
      )
    VALUES 
      (
        S.PER_NAM, S.PER_FNA, S.UPP_LOG, S.UPP_PWD, S.UPP_STA, S.UPP_INM, S.UPP_END, 
        S.UPP_MEL, S.UPP_IPA, S.UPP_SST, S.UPP_PSS, S.TIT_KEY, S.CIV_KEY, S.AUD_KEY, 
        S.UPP_PPW, S.UPP_DPW, S.UPP_TIC, S.UPP_SUD, S.UPP_INN, S.CPS_KEY, S.MAU_KEY, 
        S.UPP_WWI, S.UPP_EXT, S.UPP_UPD, S.UPP_SGN, S.UPP_DAD, S.UPP_DAF, S.UPP_AMS
      );
     
    COMMIT;

  20. #40
    Membre expérimenté Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Points : 1 332
    Points
    1 332
    Par défaut
    Bonjour,

    As tu bien regardé la syntaxe du merge

    il n'y a pas de ";" a la fin de UPDATE sinon Oracle ne comprend pas la suite

    Pour lui c'est 2 instructinos distinctes avec le ";" de trop

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    UPDATE 
        SET D.UPP_PWD = S.UPP_PWD, D.UPP_DAD = S.UPP_DAD, D.UPP_DAF = S.UPP_DAF, D.UPP_SGN = S.UPP_SGN,
            D.UPP_STA = S.UPP_STA, D.UPP_INM = S.UPP_INM, D.UPP_END = S.UPP_END, D.UPP_MEL = S.UPP_MEL,
            D.UPP_IPA = S.UPP_IPA, D.UPP_SST = S.UPP_SST, D.UPP_PSS = S.UPP_PSS, D.TIT_KEY = S.TIT_KEY,
            D.CIV_KEY = S.CIV_KEY, D.AUD_KEY = S.AUD_KEY, D.UPP_PPW = S.UPP_PPW, D.UPP_DPW = S.UPP_DPW,
            D.UPP_TIC = S.UPP_TIC, D.UPP_SUD = S.UPP_SUD, D.UPP_INN = S.UPP_INN, D.CPS_KEY = S.CPS_KEY,
            D.MAU_KEY = S.MAU_KEY, D.UPP_WWI = S.UPP_WWI, D.UPP_EXT = S.UPP_EXT, D.UPP_UPD = S.UPP_UPD,
    		D.UPP_AMS = S.UPP_AMS;
    le ";" est a enlever ...

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. importer les noms de fichiers html dans une table access
    Par abane badis dans le forum Access
    Réponses: 3
    Dernier message: 14/11/2005, 17h25

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