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

Spring Java Discussion :

Récupérer toutes les tables d'une base de données


Sujet :

Spring Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 7
    Points : 11
    Points
    11
    Par défaut Récupérer toutes les tables d'une base de données
    Bonjour a tous,
    je travaille actuellement sur un projet ou je dois faire une sauvegarde complète de ma bas e de donnée avec spring-batch.
    de ce que j'ai pu faire, je n'arrive qu'a recuperer les données pour une seule table de la base de donnée a la fois. est-il possible de recuperer toutes les tables de la base e donnée en une seule fois??
    Merci d'avance pour vos reponses

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2009
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Octobre 2009
    Messages : 169
    Points : 100
    Points
    100
    Par défaut
    Bonjour,

    Certainement en faisant une requête dans le dictionnaire de ta base de données.
    en Postgresql par exemple :

    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
    SELECT
    	c.relname as TableName, f.attname AS name, f.attnum, f.attnotnull AS notnull, pg_catalog.format_type(f.atttypid,f.atttypmod)  AS type ,
    	CASE WHEN p.contype = 'p' THEN 't' ELSE 'f' END AS primarykey, CASE WHEN p.contype = 'u' THEN 't' ELSE 'f' END AS uniquekey,
    	CASE WHEN p.contype = 'f' THEN g.relname END AS foreignkey, CASE WHEN p.contype = 'f' THEN p.confkey END AS foreignkey_fieldnum,
    	CASE WHEN p.contype = 'f' THEN g.relname END AS foreignkey, CASE WHEN p.contype = 'f' THEN p.conkey END AS foreignkey_connnum,
    	CASE WHEN f.atthasdef = 't' THEN d.adsrc END AS default, pgd.description
    FROM
    	pg_attribute f
    JOIN
    	pg_class c ON C.oid = f.attrelid
    JOIN
    	pg_type t ON t.oid = f.atttypid
    LEFT JOIN
    	pg_attrdef d ON d.adrelid = c.oid AND d.adnum = f.attnum
    LEFT JOIN
    	pg_namespace n ON n.oid = c.relnamespace
    LEFT JOIN
    	pg_constraint p ON p.conrelid = c.oid AND f.attnum = ANY ( p.conkey )
    LEFT JOIN
    	pg_class AS g ON p.confrelid = g.oid
    LEFT JOIN
    	pg_description pgd on pgd.objoid = c.oid and pgd.objsubid = f.attnum
    WHERE
    	c.relkind = 'r'::char
    AND
    	n.nspname = 'public'
    AND
    	f.attnum > 0
    te retourne toutes les tables du schéma public de ta base de données, tous les champs des tables et les clés primaires ou étrangères.

    HadanMarv

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 7
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par HadanMarv Voir le message
    Bonjour,

    Certainement en faisant une requête dans le dictionnaire de ta base de données.
    en Postgresql par exemple :

    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
    SELECT
    	c.relname as TableName, f.attname AS name, f.attnum, f.attnotnull AS notnull, pg_catalog.format_type(f.atttypid,f.atttypmod)  AS type ,
    	CASE WHEN p.contype = 'p' THEN 't' ELSE 'f' END AS primarykey, CASE WHEN p.contype = 'u' THEN 't' ELSE 'f' END AS uniquekey,
    	CASE WHEN p.contype = 'f' THEN g.relname END AS foreignkey, CASE WHEN p.contype = 'f' THEN p.confkey END AS foreignkey_fieldnum,
    	CASE WHEN p.contype = 'f' THEN g.relname END AS foreignkey, CASE WHEN p.contype = 'f' THEN p.conkey END AS foreignkey_connnum,
    	CASE WHEN f.atthasdef = 't' THEN d.adsrc END AS default, pgd.description
    FROM
    	pg_attribute f
    JOIN
    	pg_class c ON C.oid = f.attrelid
    JOIN
    	pg_type t ON t.oid = f.atttypid
    LEFT JOIN
    	pg_attrdef d ON d.adrelid = c.oid AND d.adnum = f.attnum
    LEFT JOIN
    	pg_namespace n ON n.oid = c.relnamespace
    LEFT JOIN
    	pg_constraint p ON p.conrelid = c.oid AND f.attnum = ANY ( p.conkey )
    LEFT JOIN
    	pg_class AS g ON p.confrelid = g.oid
    LEFT JOIN
    	pg_description pgd on pgd.objoid = c.oid and pgd.objsubid = f.attnum
    WHERE
    	c.relkind = 'r'::char
    AND
    	n.nspname = 'public'
    AND
    	f.attnum > 0
    te retourne toutes les tables du schéma public de ta base de données, tous les champs des tables et les clés primaires ou étrangères.

    HadanMarv


    Merci mais avec des requetes sql je peux arriver a le faire, ce que j'aimerais c'est son utilisation au niveau de spring-batch, je veux dire pour faire des taches batch...

Discussions similaires

  1. Réponses: 13
    Dernier message: 30/04/2015, 22h16
  2. script pour repertorier toutes les tables d'une base de données ?
    Par delphino7 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/06/2011, 13h32
  3. Suppression de toutes les tables dans une base de données
    Par GDMINFO dans le forum Langage SQL
    Réponses: 5
    Dernier message: 18/04/2007, 08h24
  4. Sélection de toute les tables d'une base
    Par lord_paco dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 21/07/2003, 14h56

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