【问题标题】:Oracle bulk collect intoOracle 批量收进
【发布时间】:2021-03-29 20:44:27
【问题描述】:

批量收集的主要应用是什么? 这个可以用在下面吗?

select *
from table
where condition
bulk collect into variable

【问题讨论】:

  • 您的查询语法无效。你想要SELECT value1, value2, value3 BULK COLLECT INTO collection1, collection2, collection3 FROM table_name WHERE condition
  • 那么,bulk collect into 只适用于将多个变量收集到多个变量中?
  • 当您想从查询中填充一个集合(或多个集合)时,您可以使用它。

标签: sql oracle plsql


【解决方案1】:

批量采集的主要应用有哪些?

这太开放和固执己见,无法回答“主要”应用程序。

这个可以用在下面吗?

select *
from table
where condition
bulk collect into variable

不,您的语法无效。

您想为正在收集的列命名并为每一列设置一个集合变量:

SELECT value1
BULK COLLECT INTO collection1
FROM table_name
WHERE condition

那么,bulk collect into 只适用于将多个变量收集到多个变量中?

不,它是用于将多行收集到 PL/SQL 中的集合变量中。

Oracle SELECT INTO documentation 为您提供完整的语法和示例;我建议您阅读它,因为它会为您提供更多详细信息。

【讨论】:

    【解决方案2】:

    它旨在用查询中的数据填充集合(数组,“表”)。仅 select...into 和 select..bulk collect into 之间的主要区别在于,当您的查询返回超过 1 行时 select..into 将引发异常,而后者(批量收集)将填充您指定的集合“进入”之后

    换句话说,“bulk collect into”是填充一个集合,而“select...into”是用您的 select 语句返回的值填充变量

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-08
      相关资源
      最近更新 更多