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

SQL Oracle Discussion :

Liste des tables dont une colonne contient une valeur


Sujet :

SQL Oracle

  1. #1
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 309
    Points : 1 385
    Points
    1 385
    Par défaut Liste des tables dont une colonne contient une valeur
    Bonjour,

    Dans ma base de données Oracle, la plupart des tables possèdent une colonne "r_object_id". Je voudrais lister l'ensemble des tables dont au moins une ligne contient une valeur particulière dans cette colonne.
    Savez-vous comment je pourrais faire cela ?

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 957
    Points : 4 386
    Points
    4 386
    Par défaut
    r_object_id... çà sent le Documentum cela....
    si c’est cela :
    dm_sysobject est la racine de tous les objects et dm_relation celle de toutes les relations... ils ont tous les 2 un champ (r_object_type/relation_name resp.) qui contient le type d’object/relation (qui est le nom de table sans le _s à la fin, _sp pour la vue des single attributes, _rp pour la vue des repeating attributes)
    (en minuscules, contrairement aux meta data d'ORACLE qui lui stocke les noms en majuscules)

    sinon via du SQL dynamique (EXECUTE IMMEDIATE) en allant chercher les tables qui ont la colonne r_object_id dans user_tab_columns (si vous exécutez dans le même schema) ou all_tab_columns where owner ='TARGET_SCHEMA' si vous exécutez dans un autre compte de la même DB,
    (et where column_name = 'R_OBJECT_ID').

    NB
    user/all _tabl_columns contient aussi les champs des VIEWs, si vous voulez vous limiter aux tables, il faut que TABLE_NAME soit dans user/all _tables qui lui contient aussi les tables qui sont créées par les MATERIALIZED VIEW.
    Donc pour vous limitez aux TABLEs au sens de celles créées uniquement par un CREATE TABLE vous avez un peu plus de travail.

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 156
    Points : 1 944
    Points
    1 944
    Par défaut
    Bonjour,

    Tu peux faire un petit bloc pl/sql qui parcourt la vue all_tab_columns sur colum_name = 'R_OBJECT_ID' et tu fais un execute immediate sur les tables concernées.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 309
    Points : 1 385
    Points
    1 385
    Par défaut
    Je l'ai fait en 2 étapes :
    1. Lister les tables
    2. Créer manuellement (avec macro Notepad++) puis lancer les requêtes.

    Merci à vous.

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

Discussions similaires

  1. Liste des tables dont dépend une autre
    Par katoyi dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 28/05/2008, 18h53
  2. Obtenir le listing des tables d'une BDD
    Par zoubidaman dans le forum Outils
    Réponses: 1
    Dernier message: 10/11/2004, 00h17
  3. liste des tables d'une BDD
    Par 120 dans le forum ASP
    Réponses: 4
    Dernier message: 21/06/2004, 14h06
  4. Liste des tables d'une bases de données spécifique
    Par faridos23 dans le forum Requêtes
    Réponses: 3
    Dernier message: 26/08/2003, 22h20

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