Comment requêter une base Oracle pour afficher le nom de toutes ses tables ?

Il est possible de connaître la liste des tables d'une base de données Oracle. Il suffit d'interroger la table dba_tables.

Oracle est un système de gestion de bases de données très répandu. Il est très souvent utilisé par les grandes entreprises car la société Oracle assure un support client étendu, à l'inverse d'un système de gestion de base de données open source comme MySQL. Si vous travaillez avec une base Oracle, il vous est possible de connaître la liste des tables de la base. Il suffit d'interroger la table dba_tables qui contient toutes les tables des bases de données avec le nom de leur propriétaire :

SELECT owner, table_name FROM dba_tables

Il est possible que vous n'ayez pas accès à la vue dba_tables car vous ne disposez pas des privilèges nécessaires. Il faut alors demander à l'administrateur de la base de données de vous donner ce privilège. Vous pouvez quand même consulter la vue all_tables, qui liste toutes les tables auxquelles vous avez accès :

SELECT owner, table_name FROM all_tables

Il existe une autre vue qui regroupe uniquement les tables dont vous êtes propriétaire. Il s'agit de la vue user_tables. Cette vue ne contient pas le champ owner car, étant donné que vous êtes le propriétaire des différentes tables présentes dans cette vue, ce champ est inutile :

SELECT table_name FROM user_tables

SQL