2010-10-07 248 views

回答

1

where did SYS_C004023 come

这是一个系统生成的约束名,当没有例如被明确命名创建约束甲骨文创建

create table mytable (col1 integer primary key); 

mytable上的主键约束将系统生成的,因为我没有明确命名它是这样的:

create table mytable (col1 integer constraint mytable_pk primary key); 

你可以找到这个约束是什么表上是这样的:

select table_name 
from all_constraints 
where owner = 'HR' 
and constraint_name = 'SYS_C004023'; 

而且你可以找出它使这列这样的独特之处:

select column_name 
from all_cons_columns 
where owner = 'HR' 
and constraint_name = 'SYS_C004023'; 

there is no value duplication

不,不会有,多亏了约束。已经有一个失败的尝试插入或更新一行,以便违反唯一性约束。

+0

非常感谢您的回答,它像我从MySQL表中复制了10-20条记录到oracle ...以及从1-20的主要ID。但是,我还添加了序列,从1开始,所以我认为,这就造成了这个问题,当我截断所有内容并重新插入并且它工作时... ... – unni 2010-10-08 07:12:02

相关问题