问题标签 [ora-01422]

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 投票
5 回答
3335 浏览

oracle - Oracle 计划作业失败

我正在使用 Oracle 10g 并使用以下脚本来创建作业

该作业永远不会自动执行(尽管它是手动运行的),并出现以下错误alert_sid.log

我无法将 ORA-01422 错误与我的任何代码相关联。我fetch这里什么也不做。

0 投票
3 回答
3671 浏览

c# - 获取 ORA-01422 的原因:精确提取返回的行数超过了请求的行数

所以我正在开发一个安装程序,安装程序连接到数据库并创建表并填充它们。除非我尝试将行添加到 certian 表中,否则这方面的每个方面都可以正常工作。

填充数据库的选择语句如下所示:

还有 13 个这样的 select 语句(我不会添加它们,因为它们都很相似,唯一的区别是存储的值会进入表中。)

我的问题是,当我运行安装程序时,完成后我在日志中收到此错误:

我想知道发生此错误的确切原因是什么,以及解决此错误的方法是什么?

我对该主题进行了一些研究,发现这是我搜索的共同主题:

1.代码有bug,开发者没有意识到你可以得到不止一行的返回;

2.数据被黑而不是使用API​​导致验证被破坏;

3.软件没问题,用户做的没问题,但是同时发生了两次并行更新,都看不到对方所做的未提交的更改-因此未正确验证。

我很肯定它不是#2,但我不太明白其他两个原因究竟意味着什么,或者如何解决它们。

非常感谢任何帮助或建议。

谢谢

0 投票
2 回答
7887 浏览

oracle - 在返回多行的 SQL Plus 中使用绑定变量?

这是一个愚蠢的问题,但我似乎无法解决它。我有一个在 OCI 程序中引起问题的查询,所以我想在 SQL*Plus 中手动运行它以检查那里是否有任何差异。这是查询:

我想将 comment_id 绑定到值 3052753,所以我做了以下操作:

这给出了这个错误:

现在,我已经很不高兴了,因为我不想从根本上改变这个查询,但无论如何我都会继续前进并想出这个(INTO 和 UNION 并没有那么顺利地结合在一起):

但是现在,当然因为我要返回超过 1 行,所以我得到了完全可以预测的

现在,我可以继续并开始使用游标等,但我的小查询越来越偏离其原始自我。我想做的就是检查查询是否使用该 comment_id 值运行正常。当然,我可以将 comment_id 硬编码到查询中,这样就可以了。但它在 OCI 中也可以正常工作,因此我将在 SQL*PLus 中重现我在 OCI 代码中看到的绑定变量问题。但是,为什么在 SQL*Plus 中做到这一点如此困难呢?我错过了一些非常明显的事情吗?

数据库是 Oracle 10.2.0.1.0 - 64 位,在 Red Hat Enterprise Linux ES 版本 4 (Nahant Update 8) 上运行

0 投票
1 回答
1171 浏览

oracle - 返回多于 1 行的 SELECT INTO - ORA-01422

我有 3 张桌子:

orders (order_id, order_date, cust_id, emp, id)
基本上我试图创建一个函数来获取order_id输入时的总订单成本,但我在尝试将其放入代码时遇到了麻烦。
特别试图将每个产品放入一个单独的变量中。

0 投票
1 回答
1810 浏览

sql - ORA-01422: 在 RETURNING INTO 中精确提取返回的行数超过了请求的行数

我有以下 sql (oracle) 从表中删除所有行,除了 100 个最新的行。

此代码有时会ORA-01422: exact fetch returns more than requested number of rows声称在 latestDate 中插入了不止一行。这怎么可能?RETURNING INTO 子句中的聚合函数 (max) 应该确保只返回一行,不是吗?它与显式使用或 rowid 有什么关系(我不知道如何)?

0 投票
1 回答
535 浏览

plsql - ORA-01422 - 精确提取返回超过请求的行数错误

我是编写 PL/SQL 的新手。我有这个小代码,但由于主题错误而无法打印输出。

执行后出现此错误:

您的意见将不胜感激。先感谢您。

如何使我的代码正确执行?

0 投票
0 回答
948 浏览

oracle-apex - 参考 FSP_AFTER_LOGIN_URL 导致 ora-01422

Oracle Apex 4.2.5,Oracle 12c 数据库问题。我正在处理的 Oracle Apex 应用程序是具有两个解析模式的单个工作区。主要的后台应用程序由一个模式解析的多个工作区组成。

有错误的应用程序由第二个模式解析,由 3 个应用程序(12000、12001、12006)组成,用于面向互联网的页面。一个应用程序包含处理安全、登录和仪表板页面的通用页面,另一个包含产品特定页面。

从仪表板页面导航到产品特定页面将在第一次尝试时显示通用登录页面。登录页面 url 已 FSP_AFTER_LOGIN_URL设置为f?p=APP:PAGE要导航到的页面。成功登录后,ora-1422 exact fetch returns more than requested number of rows错误为 . 打开并检查调试显示 v 函数正在引发错误。

看着wwv_flow_data我可以看到 3 行FSP_AFTER_LOGIN_URL

FSP_AFTER_LOGIN_URL是每个应用程序中的一个应用程序项。所有的范围都设置为 APP。会话状态保护已设置,但关闭会产生间歇性结果。

FSP_AFTER_LOGIN_URL 是 Apex 内部使用的应用程序项目。Apex 会自动将此项目添加到每个 Apex 应用程序。

将 FSP_AFTER_LOGIN_URL 中的值设置为目标页面允许开发人员定义一旦用户通过登录页面的身份验证,将其重定向到哪个页面。见https://community.oracle.com/message/10271816?#38;#10269816

v 是 Oracle Apex 提供的函数,用于返回页面当前所在会话的项的值。深埋在 Oracle 代码中的是 SELECT INTO 语句,

如果上述数据存在于 WWV_FLOW_DATA 中,则查询将返回多于一行,因为它不考虑 FLOW_ID。

由于这是 Oracle 内部,我无能为力。其他使用该软件的客户没有任何问题。是否存在导致此特定客户出现此问题的 Apex 设置?

什么设置允许创建 item_id=-162893176 和 flow_id=null 的 2 行?他们的目的是什么?如何解决此问题?其他使用该软件的客户没有任何问题。是否存在导致此特定客户出现此问题的 Apex 设置?

0 投票
3 回答
803 浏览

sql - PL/SQl sqldeveloper想在plsql中输出多行

我有一个过程和匿名块,我在其中输入两个日期,它在票证表中搜索在这两个日期期间已解决的票证并输出 em。但我似乎无法弄清楚如何在 pl/sql 中输出多行。


0 投票
2 回答
1659 浏览

oracle - 为什么 Oracle SELECT INTO 语句会抛出错误?

我在 oracle 中编写了一个创建过程的代码,它已成功创建,但是当从 sql developer 运行以查看输出时,它显示错误。

代码:

请给我建议。

0 投票
1 回答
109 浏览

sql - ORA-01422,但查询工作正常

我对此感到非常疯狂。我目前正在编写一个触发器来更改一些日期。为此,我想将最大值放入变量中,如下所示:

触发器总是在此查询的行上抛出 ORA-01422(返回的行数过多);但是当我在我的 sqldeveloper 中尝试查询时(用数字替换循环值),查询工作正常,任何数据集(工作正常 = 正好返回一行)。

我尝试了不同的方法来将最大值选择到我的 var 中,但每次都是同样的问题。循环工作正常(当我将触发器作为带有详细日志记录的存储过程运行时,我看到循环行 ID 和所有内容),但它总是以所述错误开始而不写入数据库。

我也搜索了网络,但我没有找到任何东西。我会很感激任何想法。