ORA-00001:违反了唯一约束(AOBHASYSTEM.SYS_C00157383783917)

问题描述 投票:0回答:1

命令中从第 14 行开始的错误插入到 TABLENAME (COLUMNNAMES) 值 (AOBHASYSTEM.SEQUENCENAME.NEXTVAL,INPUT FOR OTHER COLUMNS) 错误报告 -ORA-00001: 唯一约束 (AOBHASYSTEM.SYS_C00157383783917) violeted

根据此错误,我了解到这里的序列导致了主要问题,因为当我尝试使用

SEQUENCENAME.NEXTVAL
插入 PK 值时,因为
NEXTVAL
已存在于表中。

任何人都可以帮助我如何将此序列值设置为 DB TABLE 中存在的 max(PK)+1 以避免此问题。

我有一个解决方案,但它太长了,无法通过使用增量 BY 操作来实现。我能得到同样的顺利解决方案吗?

仅供参考..我正在使用 ORACLE SQL DEVELOPER 工具。

sql oracle database-administration
1个回答
0
投票

您可以重新启动,例如

SQL> create sequence seq;

Sequence created.

SQL> select seq.nextval from dual;

   NEXTVAL
----------
         1

SQL> select seq.nextval from dual;

   NEXTVAL
----------
         2

SQL> select seq.nextval from dual;

   NEXTVAL
----------
         3

SQL> select seq.nextval from dual;

   NEXTVAL
----------
         4

SQL> alter sequence seq restart minvalue 200;

Sequence altered.

SQL> select seq.nextval from dual;

   NEXTVAL
----------
       200

SQL> select seq.nextval from dual;

   NEXTVAL
----------
       201

SQL> select seq.nextval from dual;

   NEXTVAL
----------
       202
© www.soinside.com 2019 - 2024. All rights reserved.