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

时间:2010-02-28 02:11:14

标签: derby

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

我知道JDBC getPrimaryKeys调用,但是没有得到唯一的约束列。

1 个答案:

答案 0 :(得分:3)

Derby - constraints

需要一些挖掘才能找到上述问题;我的问题是对上述问题的一个部分回答的后续问题。

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

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