ORA-00001唯一约束-具有有效值



我们在oracle数据库的表中插入记录时遇到问题。

插入是通过VB.NET完成的。表本身没有主键,并且有两个唯一索引。

两个唯一索引是一个整数(由oracle序列维护)和一个char字段(这是基于第二个序列的计算)。

当尝试插入记录时,我们会得到"ORA-00001"错误。在代码中,它首先获得两个序列nextval(之后我可以看到它们确实增加了),然后运行insert查询并失败。我可以获取插入程序试图运行的两个唯一索引值,并在表中查询它们,但不会得到任何结果。

我不确定什么样的信息有助于缩小这个问题的范围,但我知道我在.NET中得到的oracle错误指向整数值索引。

如果有人有任何见解,我们将不胜感激!

每次调用"NEXTVAL"时,它都会增加。

如果你想插入到一个有序列的表中,你可能会发现你会失败,错误是"违反了唯一约束"。然而,当你第二次尝试时,它会成功,这是因为序列需要在你第一次使用它时进行检查

以下是解决方案:

插入前,执行选择查询:

从表中选择(对列名进行排序)。

然后,

插入表格值(…)。

它会起作用的。

最新更新