0

我可以识别出由于唯一值约束而导致的错误消息,我的表是“分支”,以及 SYS_C004023 是从哪里来的。我检查了分支表,没有重复值。可能是什么问题。

4

1 回答 1

1

SYS_C004023 哪里来的

这是一个系统生成的约束名称,Oracle 在创建约束时创建该名称,但没有显式命名,例如

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';

没有价值重复

不,不会有,多亏了约束。插入或更新行的尝试失败,从而违反了唯一性约束。

于 2010-10-07T14:11:08.123 回答