问题标签 [bulk-collect]

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 回答
1058 浏览

oracle - BULK COLLECT INTO 对对象表的 UNION 查询

如何将包含联合的查询产生的值收集到对象表中,如下所示

上面的约束是完全弥补的。

0 投票
1 回答
298 浏览

oracle - 保存异常未捕获 ORA-01438 的完整错误描述

保存异常未捕获ORA-01438 的完整错误描述:值大于此列允许的指定精度,它仅抛出一般错误,未捕获列名和大小。任何解决方法都可以与此代码集成以获取与错误相关的完整列描述?

0 投票
4 回答
335 浏览

sql - 如何在 oracle 中使用批量收集来获取包含表的所有列的 Rowid

我正在尝试执行上面的代码,但它给了我这样的错误:

PLS-00597:INTO 列表中的表达式“选项卡”类型错误。

有没有其他/替代方法可以做到这一点?

提前致谢。

0 投票
1 回答
221 浏览

plsql - 在 PL/SQL 中的游标中返回已删除的行

我有一个要求,我想在 sys_refcursor 中返回已删除的记录。我可以在删除语句之前检索游标中的数据,但是在删除语句之后有什么方法可以检索它们?我的意思是过程就像首先删除然后打开 sys_refcursor 以获取已删除的记录。

0 投票
1 回答
37 浏览

sql - PL/SQL 批量收集值不足错误

我有一个用户表,其中包含 id、uname、pwd、email 等值。现在我想创建一个嵌套表,其中只有一些值(id、uname、pwd - 但没有电子邮件):

现在我想用用户表的数据(id、uname、pwd)填充这个嵌套表。我尝试为此使用批量收集:

但我不断收到错误“没有足够的值”。该选择语句中的错误是什么?提前致谢!

完整代码:

0 投票
1 回答
377 浏览

oracle - 获取 ORA-01002:进行批量收集时出现失序错误

在下面的示例中,我有一个 SP,它将一个 SYS_REFCURSOR 作为 OUT 参数返回给 Java 服务,并且在同一个 SP 中,它将 SYS_REFCURSOR 结果插入到另一个表示例 -temp。当我执行 SP 时,它给出了一个错误

ORA-01002: 提取乱序错误

我确实看到数据被插入,但服务没有向服务返回任何 REFCURSOR。

0 投票
2 回答
160 浏览

oracle - oracle FOR LOOP 不在 SYS_REFCURSOR 中迭代

这是程序:

  1. 打开游标,然后通过批量收集获取选择查询的输出。
  2. 问题是所有 ID 都存储在批量收集中,但我无法通过使用批量收集变量作为输入来循环第二个选择查询,它只考虑第一个 ID 而不是全部。
  3. OUTPUT 应该是 SYS_REFCURSOR,请说明我在这里缺少什么

表1的测试数据:

ID 货币 T_ID
10 英镑 PB1
15 英镑 RB
20 英镑 抄送
25 澳元 直流

基于 t_id 我正在获取相应的 ID,然后在进一步的 select for 循环语句中使用这些 ID。

PROC 通过 SYS_REFCURSOR 的当前输出:

ID 国家 帐户
10 英国 PB1

预期输出:

ID 国家 帐户
10 英国 PB1
15 威尔士 RB
20 上海 抄送
0 投票
1 回答
38 浏览

plsql - 在过程中使用 BULK COLLECT 变量并引用它的列而不再次声明它

我正在使用批量收集从大量地址字段中收集值(缩短以使代码更小),并且我想将该变量传递到包中的不同过程中,然后引用这些列。程序的类型是什么?我已经很好地设置了批量收集部分,它只是在消耗它(过程 create_location(part) 而不必再次重写和重新定义所有变量,我遇到了麻烦。或者我可以不这样做吗?

0 投票
0 回答
232 浏览

oracle - 游标内的集合

我有一个代码,其中 BULK COLLECT 用于将 1000 万条记录收集到集合中,它给出了 PGA 内存错误。为了解决这个问题,我希望重新编写代码以使用游标将 BULK COLLECT 与 LIMIT 一起使用,但我想了解是否可以在 Oracle 12c 中访问游标内的集合?是否可以将以下内容更改为游标(隐式或显式)以使用 BULK COLLECT with LIMIT 选项来克服 PGA 内存问题?

例子

Select * BULK collect into l_data from coll_a ca left outer join table ta on ca.id = ta.id