Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JDBC:使用高级表模式获取表列表调用DatabaseMetadata的getTables方法_Jdbc - Fatal编程技术网

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

JDBC:使用高级表模式获取表列表调用DatabaseMetadata的getTables方法,jdbc,Jdbc,我想调用DatabaseMetaData的getTables方法,并获取所有名称不以“KB”开头的表 我该怎么做? 感谢因为getTables()接受(仅)类似条件的标准SQL模式,我认为这是不可能的 一些数据库管理系统违反了SQL标准(也称为“扩展”),允许正则表达式满足类似于的条件(我认为SQLServer就是这样做的) 查看DBMS的手册,了解它支持什么类型的表达式 如果它确实支持正则表达式,则可以尝试使用^[^KB].作为表名参数的筛选条件。但这也是非标准的,不会在所有DBMS上都起作用

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

我该怎么做? 感谢因为
getTables()
接受(仅)类似
条件的标准SQL模式,我认为这是不可能的

一些数据库管理系统违反了SQL标准(也称为“扩展”),允许正则表达式满足类似于
的条件(我认为SQLServer就是这样做的)

查看DBMS的手册,了解它支持什么类型的表达式


如果它确实支持正则表达式,则可以尝试使用
^[^KB].
作为表名参数的筛选条件。但这也是非标准的,不会在所有DBMS上都起作用。

非常感谢,我想我必须编写Java正则表达式,以匹配与“%”模式匹配的所需表名列表。