如何在 Derby 中获取主键和唯一约束列

发布于 2024-08-23 04:53:29 字数 134 浏览 5 评论 0原文

如何做到这一点? SYSCOLUMNS 系统表仅包含表的列。 SYSCHECKS 有一个 REFERENCEDCOLUMNS 对象。有什么办法可以得到这个吗?

我知道 JDBC getPrimaryKeys 调用,但它没有获得唯一约束列。

How does one do this? The SYSCOLUMNS system table only has columns for tables. SYSCHECKS has a REFERENCEDCOLUMNS object. Is there any way to get this.

I'm aware of the JDBC getPrimaryKeys call, but that doesn't get unique constraint columns.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

彼岸花ソ最美的依靠 2024-08-30 04:53:29

Derby - 约束

花了一些时间才找到上述问题;我的问题是上述问题的部分回答的后续问题。

对 SYSKEYS 采取 CONSTRAINTID 会给出一个 CONGLOMERATEID,当对 SYSCONGLOMERATES 采取 CONSTRAINTID 时会产生一个 DESCRIPTOR。 DESCRIPTOR 是一个 POJO,在 baseColumnPositions 方法中包含一个 int 数组。此 int 数组包含约束中列的 SYSCOLUMNS 中的 COLUMNNUMBERS。

如果直接使用 SQL 查询,获取 DESCRIPTOR 字段会生成一个字符串,其中包含必须解析的整数的 CSV 列表。对我来说幸运的是,我碰巧在 Clojure 中工作,因此调用 baseColumnPositions 方法并使用生成的 int 数组很简单。

Derby - constraints

It took some digging to find the above question; my question is a partially answered follow-up question to the one above.

Taking the CONSTRAINTID against SYSKEYS gives a CONGLOMERATEID, which when taken against SYSCONGLOMERATES yields a DESCRIPTOR. The DESCRIPTOR is a POJO that contains an int-array in the baseColumnPositions method. This int-array contains the COLUMNNUMBERS in SYSCOLUMNS of the columns in the constraint.

If querying in straight SQL, getting the DESCRIPTOR field yields a string with a CSV list of ints that have to be parsed. Fortunately for me, I happen to be working in Clojure, so calling the baseColumnPositions method and using the resulting int-array are trivial.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文