JDBC:获取具有高级表模式的DatabaseMetadata的表列表调用方法getTables

时间:2011-10-05 09:47:26

标签: jdbc

我想调用DatabaseMetaData的getTables方法,并获取名称不以“KB”开头的所有表。

我该怎么做? 感谢

1 个答案:

答案 0 :(得分:0)

由于getTables()接受(仅)LIKE条件的标准SQL模式,我认为这不可行。

某些DBMS通过允许LIKE条件的正则表达式违反(又称“扩展”)SQL标准(我认为SQL Server会这样做)。

查看DBMS的手册LIKE支持哪种表达式。

如果 支持正则表达式,您可以尝试使用^[^KB].*作为表名参数的过滤条件。但这又是非标准的,并不适用于所有DBMS。