问题标签 [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 投票
4 回答
616 浏览

oracle - 带有 BULK COLLECT 的 Oracle PL/SQL 6504

我有这个简单的查询:

目前只返回几条记录(将来会有很多):

此类表上的 DESC 提供:

然后我定义了正确的 PL/SQL 类型:

并尝试使用 BULK COLLECT 获取记录:

但我有 Oracle -6504 错误。我究竟做错了什么?

备注:如果我逐行获取相同的游标,使用这样的代码块:

一切正常!

0 投票
2 回答
192 浏览

oracle - PL/SQL:ORA-00907:批量收集错误

有没有办法我们使用distinct& 别名 ( as) 来实现批量收集查询,如下所示。

0 投票
1 回答
404 浏览

plsql - 嵌套表中批量收集的最大限制是多少(我将它用于 1000 万条记录)

我用嵌套表来收集一个表的数据。并用这个数据插入另一个表。下面是我正在使用的代码。我很好奇批量收集的能力。

0 投票
3 回答
3062 浏览

sql - FORALL Bulk Collect - 需要在不使用循环的情况下添加插入语句的序列?

所以我有一个 FORALL 大容量集合,用于将值插入表中。

通常我会为必须填充的序列字段使用循环。例子是这样的............

序列号 = 序列号 +1

.....然后我会循环遍历每条记录,因为它们会在插入时增加 1。

既然我使用的是没有循环的 FORALL,我怎么能用一个集合来做到这一点?

seqno 值是我需要序列的地方。每次运行它都会将这些记录插入到同一个表中,但是序列每次都必须从一个开始,因为它是集合的序列而不是整个表....有意义吗?

0 投票
1 回答
303 浏览

sql - PL Sql BULK COLLECT SQL 命令没有属性结束

我正在尝试使用 BULK COLLECT INTO 但我得到一个 ORA-00933 SQL 命令没有正确结束。我查看了我的语法,但不确定我做错了什么。难道我做错了什么?

问题似乎与 RETURNING 子句有关。如果我删除返回子句,它编译得很好

0 投票
1 回答
602 浏览

sql - 使用 Sum 功能批量收集

我正在尝试在 Oracle 数据库中使用 Bulk all 和 Forall:

来自Procedure的原始代码如下:

所以在 select 语句中,我使用 Sum 函数并在这里使用别名。

代码,我写的使用 Bulk collect 和 Forall 如下:

但是在我编译过程时,我遇到了多个错误。我对 PL/SQL 很陌生。请让我知道我是否可以在批量收集中检索计算值作为列?我在程序中遇到以下错误:

  • 错误 1) PL/SQL: 项目被忽略
  • 错误 2) 必须声明组件“LEAD”
  • 错误 3) 表达式类型错误

请让我知道这里有什么问题

谢谢

0 投票
2 回答
922 浏览

sql - 将 BULK COLLECT 与 rownum 一起使用

下面的查询会批量选择然后更新循环中的记录。我想在这里使用 BULK COLLECT INTO 和 FORALL 构造来提高性能。但是查询使用 rownum 来更新循环中的列。无论如何我可以在获取 rownum 的同时使用 BULK COLLECT INTO 吗?

谢谢

0 投票
1 回答
151 浏览

sql - 如何使用 Bulk collect/FORALL 优化 PL/SQL 代码?

pl/sql 代码花费太多时间来删除所有表中的字符

请通过使用 Bulk collect/FORALL 来帮助我

现在我正在手动使用

复制此 SQL 结果并手动执行。

运行脚本需要 1 个多小时。

我写了一个查询正在工作,是否有任何提示可以进一步优化此查询。

0 投票
3 回答
1299 浏览

oracle - Oracle - .CSV 文件一次到多个表

我必须将 .CSV 文件加载到我的 Oracle 表中。但问题是单个 CSV 文件将包含多个表的数据。诀窍是我们需要识别要插入特定表的第一列数据。即,如果第一列的值为“16”,则应将整行插入到 TABLE_16 中,它将有 16 列,如果值为 21,则 TABLE_21 将有 21 列,依此类推。还要注意的一件事是,我的 CSV 文件将有数百万条记录,所以我也需要考虑过程的性能,所以我认为BULK COLLECT并且FORALL将是快速插入数据的最佳方法。

当我尝试运行以下块时,我收到此错误:

01403. 00000 - "no data found" *Cause: No data was found from the objects. *Action: There was no data from the objects which may be due to end of fetch.


.CSV 数据示例


0 投票
1 回答
2211 浏览

oracle - 在 SELECT ... BULK COLLECT INTO 中使用 LIMIT 选项

从这个问题的答案开始(Use Bulk Collect result in a select query without cursor),我想知道是否可以在 SELECT ... BULK COLLECT INTO ... 中使用 LIMIT 选项

我知道使用显式游标的可能性,但我想知道是否可以使用直接选择语句。

谢谢,