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 :

Alimentation d'une table


Sujet :

SQL Oracle

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Août 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Août 2014
    Messages : 13
    Points : 7
    Points
    7
    Par défaut Alimentation d'une table
    Bonjour,

    je voudrai mettre en place une merge pour alimenter une table t3 à partir de deux tables t1 et t2.

    il y'a une jointure entre les tables t1 et t2, c'est à partir de cette jointure que je voudrai alimenter la table t3.

    je ne sais pas comment s'y prendre.


    Si vous pouvez m'aider


    Merci d'avance !

  2. #2
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Pour les jointures, la réponse est dans les tutoriels : http://sqlpro.developpez.com/cours/sqlaz/jointures/
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Août 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Août 2014
    Messages : 13
    Points : 7
    Points
    7
    Par défaut alimentation d'une table à partir d'une merge
    Merci pour la jointure, mais mon problème c'est plutôt comment mettre en place la merge.
    J'ai pensé à faire comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      Merge into t3 
    using (select t1.* from t1, t2 where t1.user=t2.user_name) da
    on (da.user_name = t3.user_name)
    when NOT MARCHED then
    insert (t3.date,t3.user)
    values (da.LOGON_TIME,da.USER_NAME);

    je ne sais pas si c'est correct

  4. #4
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Un MERGE sert à mettre à jour et/ou à insérer. http://oracle.developpez.com/faq/?pa...-existent-deja
    Si ce n'est que pour insérer, alors il vaut mieux rester sur de l'INSERT et un NOT EXISTS
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Août 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Août 2014
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    merci pour le lien. Justement je cherche à alimenter la table , elle est vide de base.

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 801
    Points
    30 801
    Par défaut
    Quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    INSERT INTO ma_cible 
        (   ma_cle
        ,   mes_colonnes
        )
    SELECT  src.ma_cle
        ,   src.mes_colonnes
    FROM    ma_source   src
    WHERE   NOT EXISTS
            (   SELECT  NULL
                FROM    ma_cible    cbl
                WHERE   cbl.ma_cle  = src.ma_cle 
            )
    ;
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Août 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Août 2014
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Merci pour l'exemple du script mais le besoin a évolué

    j'ai un autre besoin qui consiste à alimenter une table t1 (db 1) à partir de partir d'une autre table t2 (db2) de base de données différentes. Je ne sais pas si avec un dblink ça pourra marcher si oui comment le mettre en place? sinon quelle est la solution optimale pour réaliser cela !

    Si vous pouvez m'aider à le réaliser



    Merci d'avance

  8. #8
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Oui un dblink pourra te permettre en théorie de faire cela.

    En pratique avant il faut se poser les questions suivantes :
    - La seconde base est-elle aussi une base Oracle ?
    - Le dblink est-il autorisé par la DSI du client ?
    - Est-ce une action ponctuelle ou perenne (ce qui peut changer la réponse à la question ci-dessus)
    - Les users oracle dont tu disposes ont-ils les droits pour faire des dblink ?


    Pour la mise en place c'est assez simple, une recherche rapide devrait te fournir la réponse. J'avais un petit pense-bete sur le sujet mais je ne le retrouve plus :/
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/03/2007, 11h47
  2. trier un stringgrid alimenter par une table MySql
    Par boopix dans le forum C++Builder
    Réponses: 3
    Dernier message: 22/03/2007, 14h28
  3. Alimentation d'une table : boucle ou tableau?
    Par ALLB dans le forum Oracle
    Réponses: 5
    Dernier message: 09/05/2006, 20h29
  4. Alimentation d'une table de dimension date
    Par kluh dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 01/07/2005, 14h34
  5. alimenter automatiquement une table access
    Par Mickey34 dans le forum Access
    Réponses: 8
    Dernier message: 24/11/2004, 17h55

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