栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

约束违例异常ORA-00001

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

约束违例异常ORA-00001

一个独特的约束强制实施,那么,唯一性。与主键约束不同,它将允许空值。

您的错误表示您已将数据库配置为显式禁止重复数据插入。

您可以通过在all_constraints上运行以下查询来找出表上的约束。链接对列

CONSTRAINT_TYPE
进行解码,例如
P
是主键和
U
唯一键。

select *  from all_constraints uc where uc.table_name = 'MY_TABLE'   and owner = 'DBSCHEMA'

要找出约束中有哪些列,请

all_cons_columns
改用或将两者合并为一个查询:

select uc.*, ucc.column_name, ucc.position  from all_constraints uc  join all_cons_columns ucc    on uc.owner = ucc.owner   and uc.table_name = ucc.table_name   and uc.constraint_name = ucc.constraint_name where uc.table_name = 'MY_TABLE'   and uc.owner = 'DBSCHEMA'

对于这两个查询,您都可以添加其他条件,

and constraint_name ='IDX_CO_DETAILS'
以查找可能引起问题的特定约束的详细信息。


由于几个原因,您的评论有些令人惊讶。即使是系统创建的约束,例如在创建表时在没有指定名称的情况下直接定义的约束,也应该显示出来。同样,约束名称

IDX...
暗示它是一个索引。

如果您运行以下查询,它将告诉您对象是否存在于数据库中:

select *  from all_objects where object_name = 'IDX_CO_DETAILS'

我希望

OBJECT_TYPE
此查询返回的是
'INDEX'

然后,以下查询将返回具有该名称,索引类型,与之关联的表以及该表的所有者的每个索引。

select *  from all_indexes where index_name = 'IDX_CO_DETAILS'

根据您的错误判断,我进一步希望

UNIQUNESS
此查询返回的列为
'UNIQUE'

这应该可以帮助您跟踪对象。

您还可以使用系统包

dbms_metadata
来跟踪对象的DDL。注意它会返回一个块。

select dbms_metadata.get_ddl('INDEX','IDX_CO_DETAILS', schema => 'DBSCHEMA')   from dual

该参数

schema
是可选的。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/436079.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号