Comment obtenir tous les noms de colonnes dans une base de données oracle

Larry Ellison, chef d`Oracle, Inc., les actions mises à jour de produits à des foires commerciales.

Larry Ellison, chef d`Oracle, Inc., les actions mises à jour de produits à des foires commerciales.

bases de données Oracle organiser des tables dans les comptes de propriétaires appelés schémas. Les utilisateurs de la base de données avec des privilèges différents peuvent interroger les métadonnées de base de données - appelé "dictionnaire de données" - à la liste des informations, y compris les noms de colonnes, des autorisations d`objet ou de statistiques de l`objet. Pour obtenir les noms de colonnes de tables ou vues sur un serveur de base de données Oracle, exécutez une courte requête en utilisant l`objet dictionnaire de données le plus approprié. La vue USER_TAB_COLS montre des objets appartenant à l`utilisateur connecté, alors que ALL_TAB_COLS montre tous les objets disponibles à l`utilisateur donné ses autorisations et DBA_TAB_COLS montre tout dans la base de données quel que soit le compte utilisateur est propriétaire de l`objet.

1

Exécuter une requête SQL standard pour retourner des résultats du point de vue du système le plus approprié. Une requête de base apparaît sous la forme:

SELECT * FROM USER_TAB_COLS;

ALL_TAB_COLS substitution ou DBA_TAB_COLS selon le cas. le "*" symbole retourne toutes les colonnes dans la requête.

Video: Base de données et requête MySQL

2

Limiter les données retournées dans la requête par le remplacement, "select *" avec une liste plus ciblée des colonnes de la vue dictionnaire. Pour revenir seulement le schéma, le nom de la table et le nom de la colonne pour les objets du compte connecté peut accéder, utilisez:

SELECT propriétaire, nom_table, nom_colonne DE ALL_TAB_COLS;

3

Restreindre les objets retour en limitant vos résultats avec un "où" clause. Par exemple, pour retourner les noms de colonnes uniquement pour les tables de l`utilisateur connecté et possède commencer par la lettre "UNE," utilisation:

SELECT * FROM USER_TAB_COLS OÙ nom_de_table LIKE `% A`;

Conseils

  • vérifier Les grandes entreprises qui utilisent un serveur Oracle de classe entreprise offrent parfois des interfaces basées sur le Web à des dictionnaires de données qui interrogent toutes les colonnes de table en tant qu`utilisateur anonyme ou système sans avoir à écrire votre propre requête. Vérifiez auprès d`un administrateur de base de données pour voir si vous avez accès à un tel outil.
  • vérifier Oracle offre également des vues ALL_TAB_COLUMNS, USER_TAB_COLUMNS et DBA_TAB_COLUMNS. Ces objets diffèrent de ceux qui se terminent en "COLS" en filtrant certaines colonnes cachées. Dans la plupart des cas, vous obtiendrez les informations dont vous avez besoin, quel que soit un ensemble de vues que vous utilisez.

Avertissements

  • Fermer De retour tous les noms de colonnes sur une base de données très importante avec de nombreux objets peut fournir trop d`informations pour être utile. Limiter votre champ d`enquête avec une série de filtres de recherche dans votre SQL "où" clause.
  • Fermer Pour interroger un objet dictionnaire de données préfixé avec DBA, le compte connecté doit avoir "sélectionner" droit à ces points de vue ou ont la SELECT_CATALOG_ROLE d`Oracle attribué. Dans la plupart des cas, les tables DBA doivent spécifier le préfixe de schéma SYS, par exemple, "SELECT * FROM SYS.DBA_TAB_COLS-" ou son équivalent.

Les références

  • lien Burleson Consulting: Concepts Oracle - Dictionnaire de données
  • lien Oracle: Base de données de référence: DBA_TAB_COLS
  • lien Oracle: Base de données Guide de sécurité: Configuration de privilèges et le rôle d`autorisation

A propos de l`auteur

Jason Gillikin est un éditeur de copie et écrivain qui se spécialise dans les soins de santé, des finances et de la technologie des consommateurs. Ses divers degrés dans les arts libéraux l`ont aidé des récits d`artisanat dans les livres blancs, des entreprises et même des encyclopédies novellas.

Video: Créer manuellement une base de données Oracle 11g

Articles connexes