Rom*_*las 5 java jdbc sequence database-metadata
我试图从Java代码(使用基本JDBC)检索我的Oracle DB的不同类型的元数据.例如,如果我想检索带_FOO后缀的表列表,我可以执行以下操作:
Connection connection = dataSource.getConnection();
DatabaseMetaData meta = connection.getMetaData();
ResultSet tables = meta.getTables(connection.getCatalog(), null, "%_FOO", new String[] { "TABLE" });
// Iterate on the ResultSet to get information on tables...
Run Code Online (Sandbox Code Playgroud)
现在,我想从我的数据库中检索所有序列(例如所有序列命名S_xxx_FOO).
我怎么会这样做,因为我没有看到DatabaseMetaData与序列相关的任何内容?
我是否必须运行查询select * from user_sequences?
小智 5
有同样的问题。这相当容易。只需将“SEQUENCE”传递到 getMetaData().getTables() 类型参数中即可。
在您的具体情况下,它会是这样的:
meta.getTables(connection.getCatalog(), null, "%_FOO", new String[] { "SEQUENCE" });
Run Code Online (Sandbox Code Playgroud)
小智 3
您无法通过 JDBC API 执行此操作,因为某些数据库(仍然)不支持序列。
获取它们的唯一方法是查询 DBMS 的系统目录(正如您提到的,我猜您的情况是 Oracle user_sequences)
| 归档时间: |
|
| 查看次数: |
5327 次 |
| 最近记录: |