微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 使用JDBC检查SEQUENCE是否存在的任何方法?

我需要以编程方式在数据存储区中生成序列,但需要能够检测它们的存在而不是在它们已经存在的情况下创建.有人知道提取此信息所需的JDBC元数据吗?

粗略扫描DatabaseMetadata并未显示出合适的方法;我可以获取所有表/视图和关联的键/索引等,但不能获取该模式的序列.有没有人知道一种方法,最好是数据库独立的,但如果没有,那么对于尽可能多的数据库(想想oracle有一个user_sequence表?但这只是一个数据库,我需要支持其他数据库).

提前致谢

解决方法:

我所知道的并没有任何直接的方法.因为每个数据库都有自己的生成/处理序列的方式.当它在Oracle中的序列时,它是MysqL中的auto_incriment(不是序列,但是接近它或者得到一些相同的结果),sql Server中的Identity Columns等.

我会做这样的事 – 你必须做一个界面:

interface ISequenceChecker{ // or some name which suits you
    SequenceObject getSequence();
}

不同数据库/商店的实现(以下给出oracle的E.G):

public class OracleSequenceChecker implements ISequenceChecker{
   OracleSequenceObject getSequence(){
    // some jdbc or similar call
    // to get SELECT SEQUENCE_NAME.NEXTVAL FROM DUAL
   }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐