问题标签 [ora-01400]

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 投票
2 回答
15955 浏览

sql - 如何使用 Form Builder 和 PL/SQL 插入记录?

我正在慢慢学习 SQL 以及如何使用表单构建器 6。情况是我在表中有一个名为“玩家”的简单表,我有三列:

  • player_no(主键)
  • 位置
  • 目标

在表单生成器 6 中,我使用这三个字段创建了一个非常简单的表单。该表格被命名为“团队”。在表格的底部,我有一个标有“添加”的按钮。目标是让用户输入 player_no、位置和目标,然后单击“添加”。然后将这些信息放入我的表中。

到目前为止,所有尝试都以惨败告终。我在按钮(WHEN_MOUSE_CLICK)上设置了一个触发器。然后我输入了以下代码:

为了测试它,我只使用了一个(player_no)字段。然后,当我运行表单并输入 player_no 并点击按钮时,编译时没有错误,我在状态栏中收到以下错误:

frm-40735: WHEN-MOUSE-CLICK 触发器引发未处理的异常 ORA-01400

我做错了什么可怕的事情吗?我对 SQL 和 Form Builder 非常陌生,因此将不胜感激任何帮助。

0 投票
3 回答
4340 浏览

ruby-on-rails - Rails 建模:将 HABTM 转换为 has_many :through

我正在对现有的 Rails 站点进行维护工作,并且遇到了一些源自多对多关联的问题。看起来该站点最初是使用has_and_belongs_to_many一些关系构建的,这些关系后来在业务逻辑中变得更加复杂,所以我需要使用它has_many :through来支持关系表中的其他字段。但是,最初用于 HABTM 的连接表没有主键,我必须添加一个以支持使用has_many :through.

向包含大量数据的现有表添加主键的最佳方法是什么?还有另一种方法可以做我想做的事吗?

顺便说一句,该系统是在 Oracle 上运行的。

谢谢!

贾斯汀

更新 2009 年 11 月 9 日下午 3:58:我不是 Oracle 专家,并且一直迷失在 Oracle 的非空、自动增量等版本的荒野中。最初,我尝试通过添加一个新字段作为主键来执行 Mike 和 Corey 建议的操作,但 Oracle 不允许我将非空字段添加到非空表 (ORA-01758)。然后我将数据导出为 SQL,删除行,添加 PK 并将其设置为非空,然后尝试导入数据,但我不断收到错误消息“无法将 NULL 插入 id...” (ORA-01400)。

最后,我尝试使用 Corey 在他的评论中建议的迁移,但是当我手动更改数据库时,rake 遇到了 Oracle 抛出的相同错误(“无法将非空字段添加到非空表”)。我清除了表格,运行了迁移(有效),然后尝试重新导入数据,但我上次尝试导入时遇到了相同的错误(“无法将 NULL 插入 id ...”)。如何保存我的数据并添加我需要的主键?我知道有人提出了编写 rake 任务的可能性,但我不确定如何在这方面进行。有任何想法吗?

0 投票
4 回答
16244 浏览

oracle - 处理 ORACLE 异常

我需要使用异常句柄处理ORA-01400 错误(无法将 NULL 插入 ("SCHEMA"."TABLE_NAME"."COLUMN_NAME") )。

ORACLE 预定义了一些异常(ACCESS_INTO_NULL、ZERO_DIVIDE 等),但显然没有为 ORA-01400 错误定义异常,我该如何处理这个特定的错误代码?

我需要这样的东西(接受其他建议)。

0 投票
1 回答
19185 浏览

oracle - 缺少详细信息的 Oracle DML 错误

我从这样的批量插入操作中捕获错误:

输出看起来像这样:

我收到错误的事实并不困扰我,因为我正在测试错误处理代码。问题是 Oracle 错误消息没有显示约束名称,即它显示check constraint (.) violated但没有告诉我我违反了哪个检查约束。

有谁知道这是怎么回事?

(甲骨文 10.2 版)

0 投票
4 回答
3832 浏览

java - EJB3 - @Column(insertable="false") 问题

我正在使用 EJB3 和 Oracle Express Edition DB 构建 J2SE 应用程序。

我的问题就是这样 - 我在我的项目中设置了一个与数据库中的表匹配的 EntityBean。该表包含一个不可为空且具有默认值的列。我想要的是,当使用 EJB 将新数据持久化到该表时,该列的值将获得其默认值。这是我在项目中设置的方式:

我还在 ORM.XML 文件中设置了它:

但是由于某种原因,当创建一个新的 EntityBean 并且没有设置名字字段,然后尝试持久化它时,我得到以下异常:

这意味着持久性管理器尝试插入名字字段,尽管我告诉它不要。

我在这里做错了吗?

谢谢!

0 投票
2 回答
1836 浏览

sql - No_data_found 异常也传播到外部块?

在我的代码中,我输入了员工表中不可用的薪水,然后再次在异常块中的员工表的主键列中插入重复的employee_id,我正在处理未找到数据No data found的异常,但我不知道为什么最后也会出现异常?

输出:

这是代码:

0 投票
2 回答
5986 浏览

java - Hibernate 中使用注解的复合主键

我有一个表,它使用两列来表示它的主键,一个事务 id,然后是序列号。

我尝试了第 2.2.3.2.2 节中推荐的http://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/#entity-mapping,但是当我使用 Hibernate 会话提交此实体时对象,它在插入语句中省略了 TXN_ID 字段,只包括 BA_SEQ 字段!

怎么了?这是相关的代码摘录:



这里有一些日志语句来显示失败的具体情况:

需要注意的重要一点是我打印出设置了 txn_id 的实体对象,然后下面的 insert into 语句在列表中不包括 TXN_ID,因此 NOT NULL 表约束拒绝查询。

0 投票
1 回答
11149 浏览

java - 无法将数据库状态与会话同步

我在尝试持久化 ID 是生成值的实体时遇到问题。该实体 (A) 在持久化时必须以级联方式持久存在另一个实体 (B)。A 和 B 中的关系是 OneToMany,B 中相关的属性是组合键的一部分。

我正在使用 Eclipse、JBOSS 运行时、JPA/Hibernate

这是我的代码:

实体 A:

实体 B:

实体 B PK:

客户:

提前致谢!JM.-


我尝试手动设置 cambios.idCambio 但我仍然遇到同样的错误。Hibernate 应该在 objetosCambioPK.idCambio 和 objetosCambio.cambios 之间做某种映射。也许这就是我在这里所缺少的,我不知道如何实现它。

任何人?

0 投票
1 回答
1292 浏览

c# - 在以 Oracle 序列为主键的数据绑定表单中添加新行

我正在将 C# 与 Oracle 11g 连接起来。我有一个使用 Oracle 数据适配器填充的数据表。

我有几个文本框,我将数据绑定到数据表中的各个行。

我在文本框下方还有一个 DataGridView,显示了 DataTable 的内容。

现在,当我想添加新行时,我会

其中 bm 在 Form_Load 中定义为

在输入并验证所有信息后单击保存按钮时,我会

但是,当我通常在数据库中输入一行(使用 SQL Plus)时,问题就出现了,我使用 my_pk_sequence.nextval 作为主键。但是当我在这个方法中添加一个新行时,我该如何指定呢?

我发现了这个异常 ORA-01400: cannot insert NULL into ("SYSMAN".AUTHOR.AUTHORID"),这很明显,因为没有为主键指定任何内容。如何解决这个问题?提前感谢很多:)

0 投票
1 回答
1126 浏览

django - 在 Django 中,为什么迁移到 Oracle 会导致尝试使用空 ID 保存实例?

我正在将一个 Django 项目从 SQLite 迁移到 Oracle,并且在 disn_requisition.save() 行上抛出一个错误,声称它的 ID 为空。我没有尝试在任何模型上手动设置或摆弄 id 字段,尽管我确实阅读了它们。

关于我需要做些什么来解决这个问题的任何见解?