2010-08-14 3 views
2

Je veux écrire une requête pour obtenir les noms des tables d'une base de données spécifique, mais je ne sais pas comment l'écrire.Obtenir les tables de la base de données

Je souhaite exécuter cette requête pour MS Access 2007 et Oracle 11g.

Merci

+0

Utilisez-vous une couche d'abstraction de base de données, comme la base de données JDBC ou DBI de Perl? Beaucoup de ces frameworks ont des méthodes pour énumérer les catalogues, schémas et objets d'une base de données (tables, vues, etc.), méthodes qui sont implémentées par des pilotes spécifiques. – pilcrow

+0

Je pense qu'il veut juste dire une requête pour récupérer la liste des tables. –

+0

@AJ, à droite. Cette fonctionnalité existe déjà sans que le codeur ait à se soucier de telle ou telle version de tel ou tel RDBMS (par exemple, $ dbh-> tables() sous DBI). – pilcrow

Répondre

2

Si vous souhaitez des requêtes brutes, directes:

Pour Oracle:

SELECT * FROM user_tables 

Pour MS Access:

SELECT * FROM MSysObjects WHERE [Type] In (1, 4, 6) 

(tri et le filtrage avancé omis par souci de concision

+0

remercie Paul Sasik. – Farna

+0

Selon le contexte, vous pouvez obtenir une erreur d'autorisations sur la requête MS Access. –

Questions connexes