2010-08-14 59 views
2

我想编写一个查询来获取特定数据库的表的名称,但我不知道如何编写它。获取数据库的表

我想为MS Access 2007和Oracle 11g执行此查询。

感谢

+0

您是否使用数据库抽象层,如JDBC或perl的DBI?许多这样的框架都有枚举数据库的目录,模式和对象(表,视图等)的方法,这些方法由特定的驱动程序实现。 – pilcrow 2010-08-14 14:19:30

+0

我认为他只是一个查询来获取表的列表。 – 2010-08-14 14:23:38

+0

@AJ,对。这个功能已经存在,编码人员不必担心这个或那个版本的RDBMS(例如DBI下的$ dbh-> tables())。 – pilcrow 2010-08-14 14:30:27

回答

2

如果你想生,直接查询:

对于Oracle:

SELECT * FROM user_tables 

的MS Access:

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

(排序和先进的过滤不再赘述)

+0

谢谢Paul Sasik。 – Farna 2010-08-14 15:34:05

+0

根据上下文,您可能会收到MS Access查询的权限错误。 – 2010-08-14 19:39:09