Oracle数据库中ALL_CONSTRAINTS.CONSTRAINT_TYPE列是否存在查找表?
Oracle ALL_CONSTRAINTS.CONSTRAINT_TYPE 参考表相关说明
- Oracle官方文档仅定义了
CONSTRAINT_TYPE字段的枚举代码(如P代表主键、U代表唯一约束、C代表检查约束等),未提供系统内置的参考/查找表用于映射这些代码到对应的描述文本。 - Stack Overflow现有两个相关回答:一个未标注信息来源,另一个仅提及官方文档,但均未指向Oracle系统内专门的约束类型查找表。
- VS Code的SQL Developer扩展中显示的
CONSTRAINT_TYPE友好名称,是扩展自身内置了代码与描述的映射规则,并非调用了Oracle系统中的查找表。 - 若需在SQL中实现约束类型的文本转换,可通过自定义CASE语句或创建映射表来实现,示例SQL如下:
SELECT constraint_name, constraint_type, CASE constraint_type WHEN 'P' THEN '主键约束' WHEN 'U' THEN '唯一约束' WHEN 'C' THEN '检查约束' WHEN 'R' THEN '外键约束' WHEN 'V' THEN '视图约束' WHEN 'O' THEN '只读视图约束' WHEN 'H' THEN '哈希分区约束' WHEN 'F' THEN 'REF约束' ELSE '其他约束' END AS constraint_description FROM all_constraints WHERE owner = 'TARGET_SCHEMA' AND table_name = 'TARGET_TABLE';
内容的提问来源于stack exchange,提问作者JD136
相关产品推荐
相关产品推荐

