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 に答える