我处于使用 Oracle 数据库的情况。我们数据库中的一个表不完整,另一个分支正在 Excel 电子表格中跟踪他们的数据。在重新格式化他们的数据后,我能够成功地将数据附加到 Oracle 表中。为了实现这一点,我必须采取的步骤之一是手动分配新的 DISPOSAL_ID(这个特定表的主键)。我的方法是简单地为该表取 DISPOSAL_ID 的最大值,并为我希望附加的每条新记录加一。
现在的问题是,最终用户报告她尝试将新记录输入到该表中,她收到来自 Oracle APEX 应用程序的错误消息:ORA - 00001:违反了唯一约束 (table_name.PK)。
我怀疑这与为该表生成主键的 Oracle 序列产生的值有关,这些值是我在将分支数据附加到表时手动分配的。
我应该怎么做才能更新以更新序列?当前序列定义为:CREATE SEQUENCE "MP_DISPOSAL_EVENTS_SEQ1" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 861 CACHE 20 NOORDER NOCYCLE NOPARTITION /
如果我将 'START WITH' 值替换为 DISPOSAL_ID 的新最大值,这会解决问题吗?对现有数据有影响吗?对于这个问题的新手性质,我深表歉意,但我对此相对较新,并且没有任何技术人员可以为我提供支持。我提前感谢大家。