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 :

Lister le contenu de toutes mes tables.


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 20
    Points : 12
    Points
    12
    Par défaut Lister le contenu de toutes mes tables.
    Etant totalement novice en SQL,PL/SQL, je souhaiterais savoir s'il est possible de lister tout le contenu des tables de ma base(genre moteur de recherche).

    Par avance Merci.




    ps : super forum !!!!!

  2. #2
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Oui en faisant un script sql du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    set head off
    set feed off
    spool liste_tables.sql
    select 'select * from ' || table_name || ';'
    from all_tables;
    spool off
    @liste_tables.sql

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Merci pour la réponse...

    Mais j'ai en réponse :

    • select * from DUAL;
      select * from SYSTEM_PRIVILEGE_MAP;
      select * from TABLE_PRIVILEGE_MAP;
      select * from STMT_AUDIT_OPTION_MAP;
      select * from AUDIT_ACTIONS;
      select * from DEF$_TEMP$LOB;
      select * from WM$WORKSPACES_TABLE;
      select * from WM$VERSION_TABLE;
      select * from WM$NEXTVER_TABLE;
      ........


    Et je ne vois pas les enregistrements des mes tables.

  4. #4
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    un fichier liste_table.sql a dû être générer. C'est lui qu'il faut exécuter.

  5. #5
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Si tu ne veux pas voir les select * from ..., ajoute set term off et set term on comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    set head off 
    set feed off 
    set term off
    spool liste_tables.sql 
    select 'select * from ' || table_name || ';' 
    from all_tables; 
    spool off 
    set term on
    @liste_tables.sql

  6. #6
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Oupss, merci pour l'aide....

    Peut-on avoir un equivalent en utilisant pl/sql du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT *
     
    FROM
      (SELECT
        TABLE_NAME || '.' || COLUMN_NAME  COLUMN_NAME
      FROM
        user_tab_columns
      WHERE
        table_name like '%') BASE
     
    WHERE
      BASE.COLUMN_NAME like '%valeur_recherchee%'
    (code récupéré sur le net)

    Avec ceci j'ai le nom des tables, la liste des colonnes, mais impossible d'aller plus loin.


    Car quand je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from TABLE where TABLE.COLONNE like %toto%
    c'est bon j'ai les infos que je veux.
    Je veux généraliser cette commande à toutes mes tables et colonnes de ma base sans indiquer explicitement les tables.

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    J'ai trouvé ma réponse.

    Merci à vous !

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

Discussions similaires

  1. Fonction Lister pour toute mes tables
    Par benny-blanco dans le forum C#
    Réponses: 4
    Dernier message: 11/05/2012, 19h11
  2. [SQL] Faire un DROP de toutes mes tables
    Par emmy99 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 04/03/2008, 13h25
  3. Vider toutes mes table
    Par Immobilis dans le forum Langage SQL
    Réponses: 1
    Dernier message: 23/03/2007, 22h23
  4. [MySQL] mettre toutes mes tables dans un select
    Par ph_anrys dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 14/03/2007, 11h39
  5. Réponses: 16
    Dernier message: 07/08/2006, 13h11

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