通过 JDBC 删除 Derby 中的所有约束
如何通过 JDBC 删除 Derby 数据库中的所有约束?
How can I drop all constraints in a Derby database via JDBC?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何通过 JDBC 删除 Derby 数据库中的所有约束?
How can I drop all constraints in a Derby database via JDBC?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
您可以查询系统表 SYS.SYSCONSTRAINTS、SYS.SYSTABLES 和 SYS.SYSSCHEMAS 以获取给定架构的所有约束名称和相关表。
首先,介绍一下这些表(来自 回复: Derby 中的系统表):
因此,您可以使用以下查询:
然后循环并构建相应的 ALTER TABLE DROP CONSTRAINT 语句。
参考文献
You could query the system tables SYS.SYSCONSTRAINTS, SYS.SYSTABLES and SYS.SYSSCHEMAS to get all constraint names and the related tables for a given schema.
First, a few words about those tables (from Re: System tables in Derby):
So you could use the following query:
And then loop and build the corresponding ALTER TABLE DROP CONSTRAINT statement.
References
我不太确定我是否理解为什么以编程方式删除数据库中的所有约束会很有用。尽管如此,对于使用 DatabaseMetaData API 为 Derby 数据库中的特定模式查找各种约束和其他依赖对象(视图等)的代码示例,您可以查看 < Derby 测试工具的 JDBC.java 实用程序中的 em>dropSchema() 方法:http://svn.apache.org/viewvc/db/derby/code/trunk/java /testing/org/apache/derbyTesting/junit/JDBC.java?view=co
I'm not really sure I understand why it would be useful to drop all the constraints in your database programatically. Nonetheless, for an example of code which uses the DatabaseMetaData API to find various constraints and other dependent objects (views, etc.) for a particular schema in a Derby database, you can have a look at the dropSchema() method in the Derby testing harness's JDBC.java utility: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/junit/JDBC.java?view=co