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

Requêtes PostgreSQL Discussion :

[DEBUTANT] Copier toutes les tables d'un schéma, dans un autre schema


Sujet :

Requêtes PostgreSQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut [DEBUTANT] Copier toutes les tables d'un schéma, dans un autre schema
    Bonjour,

    Etant débutant en PostGreSQL et dans le monde des bases de données, je souhaiterai créer une fonction ou procédure stockée qui, à l'appel de la procédure, copie toutes les tables d'un schéma dans un autre schéma. Les tables des deux schémas concernés à les mêmes caractéristiques.
    L'intérêt étant qu'une fois que les valeurs saisies dans les tables aient été vérifié, de les mettre à jour sur le 2ème schéma, avant de les supprimer du 1er schéma.

    Merci d'avance... ^^

    KiAhS

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Si les tables destination préexistent, tu peux écrire quelque chose du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    INSERT INTO schema2.table_A SELECT * FROM schema1.table_A;
    INSERT INTO schema2.table_B SELECT * FROM schema1.table_C;
    etc...
    qui copie de schema1 vers schema2

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Merci pour cette réponse, mais cette solution ne me convient pas.

    J'aimerai pour ma part avoir une fonction qui me la ferait directement sans avoir à écrire en dur le nom de mes tables.

    le nom des tables du premier schéma ainsi que ceux du deuxième sont les mêmes.

    Cette requête récupère le nom de toute les tables d'un schéma :

    SELECT tablename from pg_tables where schemaname = 'MonSchema1';

    A partir de ça créer la fonction permettant la mise a jour sur l'autre schéma...

  4. #4
    Membre actif Avatar de SaintAmand
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 174
    Points : 203
    Points
    203
    Par défaut
    Citation Envoyé par KiAhS Voir le message
    J'aimerai pour ma part avoir une fonction qui me la ferait directement sans avoir à écrire en dur le nom de mes tables.
    Bonjour,

    Utilise les requêtes dynamiques
    http://www.postgresql.org/docs/8.4/i...tatements.html

    --
    Eric

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/02/2012, 18h30
  2. [2005] Comment faire un truncate de toutes les tables d'un schéma ?
    Par clementratel dans le forum SSIS
    Réponses: 12
    Dernier message: 24/03/2011, 11h00
  3. Afficher toutes les tables d'une DB dans ComboBox ! ! !
    Par julius0123 dans le forum VB.NET
    Réponses: 15
    Dernier message: 14/08/2009, 12h53
  4. Réponses: 3
    Dernier message: 21/08/2008, 19h05
  5. supprimer toutes les occurrences d'une chaine dans une autre
    Par identifiant_bidon dans le forum Langage
    Réponses: 3
    Dernier message: 21/11/2007, 11h36

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