1 entrie(s) tagged oracle
09/20/2007 0  Oracle同步序列
新增一条记录出错,ORACLE抛出如下异 常:

1 ORA-00001: 违反唯一约束条 件 (OSCHEMA.TABLE_TEST_PK) *INSERT INTO "OSCHEMA"."TABLE_TEST" ("ID", "FIELD2", "FIELD3") VALUES (:ID0, :FIELD21, :FIELD32)

其中表"OSCHEMA"."TABLE_TEST"主键ID已设置唯一值,而插入记录时还是出现此种错误,可用如下PL/SQL语句将表下次递增的其实序列位置调整到先有记录最大主键值,即保证下一条记录的序列为当前最大序列加1,表"OSCHEMA"."TABLE_TEST"的主键字段是ID

declare

SEQ_VALUE number :=0;

Max_PK_VALUE number :=0;

begin

SELECT MAX(ID) INTO Max_PK_VALUE FROM TABLE_TEST;

loop

select OSCHEMA.TABLE_TEST_SEQ.nextval into SEQ_VALUE from dual;

--dbms_output.put_line(i);

exit when SEQ_VALUE = Max_PK_VALUE;

end loop;

commit;

end;
TAGS:  oracle
White theme designed by Livid, this blog is proudly powered by Project Nexus.