问题标签 [ora-00001]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
10957 浏览

oracle - 发生错误时如何在 PL/SQL 中找出行号、过程名称

我正在使用 D2k 6i 表单并从存储数据库(oracle9i)过程 ORA-00001:违反唯一约束(。)的表单上获取错误,但我无法追踪它来自哪个过程。有人可以帮我解决这个问题吗

0 投票
2 回答
2215 浏览

sql - Oracle - 未对未修改的值执行更新的 UPSERT

我目前正在使用以下更新或插入 Oracle 语句:

这运行良好,只是如果数据与提供的参数值相同,更新语句将执行虚拟更新。我不介意在正常情况下进行虚拟更新,但是在此表上构建了一个复制/同步系统,使用表上的触发器来捕获更新的记录并为许多记录频繁执行此语句仅意味着我会在触发器中造成巨大的流量和同步系统。

是否有任何简单的方法可以重新编写此代码,如果没有必要,更新语句不会更新记录,而无需使用以下 IF-EXISTS 检查代码,我发现这些代码不够流畅,也可能对这项任务不是最有效的?


我也尝试使用 MERGE INTO 语句,但是当值未修改时它不适用于更新(更新不修改任何内容并执行插入,但发生 PK 冲突)。

完整的 MERGE INTO 示例:

看起来 Oracle 在内部使用 UPDATE...IF SQL%ROWCOUNT=0 THEN INSERT... 用于 MERGE INTO 子句?第二个 MERGE INTO 语句失败,因为 update 没有更新任何内容,因此执行了 INSERT 导致 PK 冲突,因为行已经存在,只是值没有改变。

0 投票
2 回答
4380 浏览

c# - 如何在 TextBox Multiline 中选择行号

我的表单(winforms)中的 System.Windows.Forms.TextBox 控件中有大文本,与 2008 相比。

我想找到一个文本,然后选择我找到该文本的行号。

样本,

我有大文本,我发现“ERROR en línea”,我想在文本框多行中选择行号。

版权所有 (c) 1982, 2005, Oracle。版权所有。

******** 更多文字 ********

Conectado a:Oracle 数据库 10g 企业版版本 10.2.0.4.0 - 64 位生产,具有分区、数据挖掘和实际应用程序测试选项

错误在第 2 行:

ORA-00904: ""LAVECODIGO"": identificador no v?lido

错误在第 1 行:

ORA-00001: 限制 única (XACO.INX_COM_CODIGOS_PK) violada";

******** 更多文字 ********

关于它的任何示例代码?

0 投票
2 回答
34339 浏览

sql - MERGE - 当不匹配时 INSERT 的异常

我有一个使用 MERGE 的 PL/SQL 过程:

现在假设查询s返回具有相同 id 的多行,这将返回ORA-00001:唯一约束错误

我想要做的是将重复的列发送到另一个表my_Table_recyledbin以获得成功的 INSERT,我可以使用EXCEPTION WHEN DUP_VAL_ON_INDEX吗?如果是,如何将它与 MERGE 语句一起使用?

提前致谢

0 投票
6 回答
2254 浏览

sql - 1->1/1->N relationship in Oracle?

I have 2 tables

foo_id are primary key for both of their respective tables. In second table, foo_id is foreign key to first table. I generate the PK for both table values using a sequence and try to make insert - once into FooHeader and twice into FooBody.

MY code crashes on the second insert into t_FooBodys in the loop from error "ORA-00001: unique constraint (USERID.FooBodys_PK) violated"

So I have 2 questions:

1) What is the fundamental difference between MSSQL Server and Oracle here? This worked fine in SQL Server! I had one-to-one/many relationships all the time in there

2) What is the simplest way to fix this besides adding another key and essentially ending the shared primary key concept?

Thanks much

0 投票
1 回答
4748 浏览

java - 如何从 BatchUpdateException 中找到有问题的插入?

当我因违反唯一约束而出现 BatchUpdateException 时,是否有办法确定批量插入中的哪条记录违反了?例如,假设我正在通过调用 PreparedStatement.executeBatch() 执行批量插入,并且我捕获了 BatchUpdateException,它的原因是“ORA-00001:违反了唯一约束 (ABC.SYS_123)”。使用 Eclipse 进行调试时,我可以从这个异常中获得尽可能多的信息,但我想找出哪个实际插入导致违反唯一约束。有没有办法可以找到这些信息?

我的代码目前看起来(或多或少)是这样的:

我正在使用 Spring 的 JdbcTemplate 和 Oracle 11G 数据库,以防万一。

提前感谢您的任何建议。

- 詹姆士

0 投票
1 回答
4497 浏览

oracle - Hibernate/Oracle seqhilo 生成器

我正在尝试为 Oracle 上的 Hibernate 应用程序配置 seqhilo 生成器。

我在 oracle 数据库 10g 中创建了一个序列(S_TEST),不幸的是它不起作用:id 始终为空。你能向我解释一下如何在 oracle 数据库中使用 seqhilo 生成器吗,我可能很困惑 :(

这是生成的 sql 跟踪:

即使我将生成器更改为序列或原生,必须生成的字段(id_Test)始终为零,结果保持不变

0 投票
2 回答
424 浏览

sql - 在 Oracle 中,我可以执行“将值插入或更新到表中”吗

我有一个包含两个数字列的表,并且对它们都有一个唯一约束。我想插入一对新的值,除非这对已经存在。最简单的方法是什么?

如果我做

并且这对已经存在我收到 ORA-00001 错误,所以我想做类似的事情

0 投票
1 回答
6611 浏览

sql - 一般错误:1 OCIStmtExecute:ORA-00001:违反唯一约束(HR.SYS_C004023)?

我可以识别出由于唯一值约束而导致的错误消息,我的表是“分支”,以及 SYS_C004023 是从哪里来的。我检查了分支表,没有重复值。可能是什么问题。

0 投票
2 回答
1563 浏览

oracle - 使用 JPA2 和测试重复 id

我现在有点困惑:-S

我正在开发一个使用 JPA2、Spring 3.0.5、Hibernate 3.6.0 Final 的项目。我们有以下代码(仅相关类)

现在,当我在回滚设置为 false 的情况下运行测试(我知道,这不是真正的单元测试)时,我得到以下堆栈跟踪:

如果我使用回滚,那么测试通过,这当然是不正确的。

现在,有没有好的解决方案?

谢谢你的帮助

BB彼得