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 :

[Import] Modifier le noms des tables


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Mai 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 2
    Par défaut [Import] Modifier le noms des tables
    Bonjour,

    Des scripts m'ont été fournis pour permettre l'export d'une base de donnée applicative.

    Le script d'export via une requette SQL export seulement les tables commençant par pordpower ou hsv_prodpower.

    Notre applicatif s'appuie sur les nom de tables pour faire un lien application base de donnée.

    Si l'on veut faire un copie de l'application sur une même base de donnée, il est nécessaire de changer les nom des tables (ex: toto% et hsv_toto%)

    voici les scripts :export.cmd et export_application.sql


    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
    [b]export.cmd:[/b]
    SET ORALogin=****
    SET ORAPwd=****
    SET ORABase=*****
     
    SET ScriptsPath=D:\CopyApplication
    SET ConfigFile=EXPORT.cfg
     
    COPY EXP_type.conf %ConfigFile%
     
    SQLPLUS %ORALogin%/%ORAPwd%@%ORABase% @export_application.sql
    MORE List_Tables.txt >> %ConfigFile%
     
    pause
     
    EXP %ORALogin%/%ORAPwd%@%ORABase% PARFILE=%ScriptsPath%\%ConfigFile%
     
    DEL List_Tables.txt
    DEL %ConfigFile%
     
     
     
     
    [b]export_application.sql:[/b]prompt Export Selection
    set heading off
    set termout off
    set feedback off
    set pages 0
     
    spool List_Tables.txt  
    select decode( rownum, 1, 'tables=(', ',' ), table_name
      from user_tables
     where table_name like 'PRODPOWER%' or table_name like 'HSV_PRODPOWER%' 
    union all
    select ')', null
      from dual ;
    spool off
    exit;
    Ma question est donc la suivant est-il possible d'importer un dump en modifiant les noms des tables via SQL ou autre ?
    (ou bien modifier les noms de tables directement dans le fichier dump) ?

    Merci

  2. #2
    Membre émérite Avatar de plabrevo
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut
    Sans doute qu'on pourrait y arriver en pre-creant les nouvelles tables et en posant des INSTEAD OFF triggers sur des vues dont les noms correspondront aux anciennes tables.

    Le plus simple sera d'importer les tables dans un nouveau schema, de les renommer avec un script rapide, puis de les exporter a nouveau (eventuellement). Dans ce dernier cas, il faudra aussi penser, pour etre propre, a renommer tous les index, FK, PK, et autres contraintes.

  3. #3
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Par défaut
    Bonjour ,

    l'import ne propose pas de modifier le nom des tables lors de l'import. Il faut donc, comme te le propose pascal, insérer une étape supplémentaire renommant la table soit :
    - Avant l'export
    - Juste apres l'export

  4. #4
    Candidat au Club
    Inscrit en
    Mai 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 2
    Par défaut
    Merci de vos réponses

    Actuellement, l'import de mes données prend environ 2 heures, et malheuresement je ne peux importer directement sur le schema final mon application , je vais devoir passer par un schema transitoire.
    et donc rallongé le temps de l'opération.
    le but étant de passer d'un environement de Dev vers une recette puis la Prod.

    je révais à une solution mystique.

  5. #5
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Par défaut
    Pour information renommer une table est une opération trés rapide .

  6. #6
    Membre émérite Avatar de plabrevo
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Le but étant de passer d'un environement de Dev vers une recette puis la Prod.
    Ca m'inquiete terriblement. Un processus de mise en production qui commence par renommer les tables definis par les developpeurs n'est vraiment pas une pratique qui soit recommendable.

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

Discussions similaires

  1. déclencheur DDL qui modifie le nom des tables
    Par sqlamateur dans le forum Développement
    Réponses: 5
    Dernier message: 11/02/2011, 11h50
  2. Réponses: 1
    Dernier message: 10/06/2010, 08h03
  3. [AC-2002] Modifier les noms des tables sans casser les requêtes
    Par gandalf20000000 dans le forum Modélisation
    Réponses: 5
    Dernier message: 07/04/2010, 21h30
  4. Impossible de modifier le nom des tables
    Par Fabien50 dans le forum Requêtes
    Réponses: 4
    Dernier message: 03/06/2009, 13h11
  5. Modifier le nom des champs d'une table...
    Par Mr Capone dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/01/2005, 10h22

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