gpt4 book ai didi

sql - 从Oracle数据库获取唯一约束列名称

转载 作者:行者123 更新时间:2023-12-04 16:52:30 25 4
gpt4 key购买 nike

我正在为此目的从UI实现搜索功能,我想给出一个具有唯一约束的列名称以及任何主键列(如果存在)的下拉列表,以便用户可以使用任何这些选定的列相关数据进行搜索。我已经搜索了这样的查询,但是没有找到

就像是:

SELECT COLUMN_NAMEs FROM TABLE WHERE CONSTRAINTS UNIQUE OR PRIMARY

是否有任何查询来实现这一目标...

最佳答案

USER_CONSTRAINTS也将返回外键。您只需要主键和唯一键。但是也可以通过唯一索引来实现唯一性。它不会显示在约束列表中。您需要观看USER_INDEXES View 。优点是主键和唯一键创建相应的唯一索引。因此,有必要检查USER_INDEXES。

UPD:请参阅Lalit Kumar B的评论。

select c.COLUMN_NAME
from USER_INDEXES i, USER_IND_COLUMNS c
where i.TABLE_NAME = 'YOUR_TABLE'
and i.UNIQUENESS = 'UNIQUE'
and i.TABLE_NAME = c.TABLE_NAME
and i.INDEX_NAME = c.INDEX_NAME
union
select cc.COLUMN_NAME
from USER_CONSTRAINTS con, USER_CONS_COLUMNS cc
where con.TABLE_NAME = 'YOUR_TABLE'
and con.CONSTRAINT_TYPE in ( 'U', 'P' )
and con.TABLE_NAME = cc.TABLE_NAME
and con.CONSTRAINT_NAME = cc.CONSTRAINT_NAME

关于sql - 从Oracle数据库获取唯一约束列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28404046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com