Nil*_*ils 8 java sql oracle constraints unique
我正在尝试使用Java找到表的唯一约束(在Oracle数据库上,但这应该没有区别).
感谢DatabaseMetaData的getPrimaryKeys(....),我找到了一种方法来发现表的主键.然而,我无法找到桌子的独特结构,互联网无法帮助我,因此我在这里结束问我的问题:)
是否有一种干净的方法来找到一个表的唯一约束(或者更确切地说,一个表必须是唯一的列的名称......那么你得到它嘿嘿)?最好的祝福,
尼尔斯
Vin*_*rat 20
你可以查询数据字典:
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
Run Code Online (Sandbox Code Playgroud)