Chr*_*tle 6 oracle unique-constraint
我有一个INSERT在 Oracle 上运行的冗长语句失败:
ORA-00001: unique constraint (MYPROJECT.MYTABLE_PK) violated
Run Code Online (Sandbox Code Playgroud)
约束是:
CONSTRAINT "MYTABLE_PK" PRIMARY KEY ("ENCOUNTER_NUM", "CONCEPT_CD", "PROVIDER_ID", "START_DATE", "MODIFIER_CD")
Run Code Online (Sandbox Code Playgroud)
INSERT会记录有问题的语句,但不会记录导致违反约束的值。
有没有办法记录或以其他方式保存和查看违反约束的值?
这是 Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64 位生产
您可以使用DML 错误日志记录
begin
dbms_errlog.create_error_log( dml_table_name => 'MYTABLE' );
end;
/
insert into mytable
<<your select statement>>
log errors into err$mytable
reject limit unlimited;
Run Code Online (Sandbox Code Playgroud)
这会将违反约束的所有行记录到err$mytable表中。