查找数据库表的唯一约束
我正在尝试使用Java查找表的唯一约束(在Oracle数据库上,但这应该没有什么不同)。
我找到了一种发现表的主键的方法,这要归功于DatabaseMetaData的getPrimaryKeys(.); 但是,我找不到表的唯一约束,互联网也不能帮助我,所以我在这里结束提问:)是否有一种简洁的方法来查找唯一约束(或者,更确切地说,查找表必须唯一的列名)。嗯,你拿到了吗,呵呵)一张桌子? 致以最诚挚的问候
NILS
解决方案
可以查询数据字典:
SQL> SELECT cc.*
2 FROM all_constraints c
3 JOIN all_cons_columns cc ON (c.owner = cc.owner
4 AND c.constraint_name = cc.constraint_name)
5 WHERE c.constraint_type = 'U'
6 AND c.table_name = 'T';
OWNER CONSTRAINT_NAME TABLE_NAME COLUMN_NAME POSITION
---------- ----------------- -------------- ------------- ----------
VNZ UNIQUE_COL T COLUMN1 1
VNZ UNIQUE_COL T COLUMN2 2
VNZ UNIQUE_COL2 T COLUMN2 1
相关文章