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

Oracle Discussion :

Script migration plusieurs tables


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2014
    Messages : 18
    Par défaut Script migration plusieurs tables
    Bonjour à tout le monde
    j'aurai besoin de votre aide je m'explique
    je bosse sur un projet qui contient 400 tables oracle et plus , mon chef me demande de faire un script qui permet de prendre 60 tables
    et de le mettre dans une seule table oracle que j'ai déjà créer
    les premiers étapes se sont
    1) j'ai definé les tables concerner
    2) j'ai calculer le nombre de ligne de chaque table
    3) j'ai calculer la volumétrie de chaque table
    4) calculer le Nombre de doublons
    maintenant je cherche un script qui permet de jouer toute ces requêtes ( requet de count(*) de la table à migrer, la requete de migration, la requete de count(*) de nombre de donnée migrer dans la tables cible)avec un rapport indiquant le Nb de données à migrer,le statut de l'insertion (ok/ko), et le nombre de données à migrer

    Merci

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    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 136
    Par défaut
    Si je comprends bien, tu as déjà toutes tes requêtes et tu cherches le moyen de les enchainer ?
    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.

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2014
    Messages : 18
    Par défaut
    merci de votre réponse
    je cherche n’importe qu’il script qui permet de faire les lien entre tous les requete ex:
    et en même temps affiche le status de chaque table

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    SELECT COUNT(*) FROM Table1;
    insert into COMMUNE (champ1,
                                    champ2,
                                   champ3,
                                   champ4,
                                          etc
     
    	                        )
    		select *
    		  from table
    				UNION all select *from 	table1
                                    UNION all select *from 	table2
                                    UNION all select *from  table3
                                    UNION all select *from 	table4
                                    UNION all select *from  ltable5;

  4. #4
    Membre émérite Avatar de Cincinnatus
    Homme Profil pro
    Développeur d'applications métier
    Inscrit en
    Mars 2007
    Messages
    593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur d'applications métier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 593
    Par défaut
    Citation Envoyé par abdel111 Voir le message
    merci de votre réponse
    je cherche n’importe qu’il script qui permet de faire les lien entre tous les requete ex:
    et en même temps affiche le status de chaque table

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    SELECT COUNT(*) FROM Table1;
    insert into COMMUNE (champ1,
                                    champ2,
                                   champ3,
                                   champ4,
                                          etc
     
                                )
            select *
              from table
                    UNION all select *from     table1
                                    UNION all select *from     table2
                                    UNION all select *from  table3
                                    UNION all select *from     table4
                                    UNION all select *from  ltable5;
    Bonjour,

    Premier point : traiter toutes les tables d'un coup : ne pas faire.
    Si il y a le moindre problème de données dans l'une d'elles, le résultat ne sera pas beau à voir. Et bonjour pour trouver l'origine du bins.

    Deuxième point: pour connaître le statut de chaque table source, il faut vérifier chaque table source... indépendamment des autres, et avant de fusionner les données.

    Troisième point : je te conseille de faire des select plus détaillés : le select * pour la fusion, pas vraiment top. Il vaut mieux expliciter chaque champ, ça aide à vérifier la conformité de chaque table.

    En outre, si le volume de certaines (ou toutes) les tables est conséquent, il vaut mieux commiter en cours de traitement. A toi de voir en fonction des volumes réels.

    Plus globalement, je contrôlerais d'abord la qualité des données, j'utiliserais un MERGE pour fusionner ces données (ça peut aussi éviter des doublons), et surtout je réaliserais ça en PL/SQL pour contrôler les opérations et loguer les résultats (OK/KO).

  5. #5
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2014
    Messages : 18
    Par défaut
    merci

    j'aurai bien vu une sorte de script pour l'adapter à ma situation avec la fonction Merge et aussi PL/SQL
    il faut que je fasse un script dans n’importe qu'il langage qui permet de traiter tous ses requête en une fois affichant le statut de chaque table et Le Nb de donnée à migrer etc
    voila mon code que je suis entrain de le faire pour une seule table
    ma question pour plusieurs table je dois le faire comment

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    MERGE INTO COMM_PJ a
        USING CONCL_PJ b
        ON (a.PJ_ID = b.CLS_ID)
      WHEN MATCHED THEN
        UPDATE SET a.ID_fr = b.CL_ID
      WHEN NOT MATCHED THEN
        INSERT (PJ_ID,ID_cls,PJ_LI,PJ_CON)  
        VALUES (b.CL_PJ_ID, b.CL_ID, b.CL_PJ_LIEN, b.CLS_PJ_CON);

    merci encore

  6. #6
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2014
    Messages : 18
    Par défaut
    salut
    comment je peux mettre un PL/SQL pour contrôler les opérations et loguer les résultats (OK/KO).?

    Merci

Discussions similaires

  1. creer plusieurs tables avec un seul script
    Par abj8077 dans le forum Requêtes
    Réponses: 8
    Dernier message: 18/02/2011, 19h32
  2. [MySQL] script de login recuperer des informations sur plusieurs tables
    Par hichoum dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 05/07/2009, 15h35
  3. A propos d'une requête SQL sur plusieurs tables...
    Par ylebihan dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/09/2003, 16h26
  4. Une seule table VS plusieurs tables
    Par LostControl dans le forum Requêtes
    Réponses: 1
    Dernier message: 11/08/2003, 10h56
  5. [SQL] Sélection ds plusieurs table
    Par lord_paco dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/07/2003, 17h53

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