Plsql 批量收集到全局临时表中
我在Oracle 11g和12c环境中工作。我需要创建一个执行以下操作的SP:Plsql 批量收集到全局临时表中,plsql,plsqldeveloper,Plsql,Plsqldeveloper,我在Oracle 11g和12c环境中工作。我需要创建一个执行以下操作的SP: 从两个表读取数据(联接) 将大容量收集到具有限制的表中 根据一些列中的内容,我可能需要创建一个重复记录,在这些列中有不同的结果。因此,一行可能最终成为两行,日期和数量不同 尽管这两行彼此是唯一的,但它现在可能会与我可能处理过或可能还没有处理过的另一组数据发生冲突。这将导致目标表中出现重复的PK记录,因此,在插入目标表之前,我需要压缩整个数据集的qty字段(group by)并求和 我开始只使用游标和批量收集将数据写入
我很感激你对最好、最快的方法的建议 如果您能添加更多详细信息,这会有所帮助。表描述、样本数据和预期输出以及您已经尝试过的内容。这样更容易。与brenners一致,这里有太多的挥手动作,没有具体的问题陈述或示例代码,因此不可能推荐任何特定的操作过程(除了说明一般的经验法则外:如果您可以在SQL中完成所有工作,那么最好是在SQL中完成所有工作,并且尽可能避免复杂的GTT和PL/SQL)。不幸的是,由于保密性原因,我无法提供示例数据。我之所以是一般性的,是因为我在寻找一般性的答案。不寻找任何人来编写我的代码。我认为使用SQL意味着上下文切换,我想避免上下文切换,所以我不确定为什么要避免pl/SQL。为什么要避免GTT?如果不是GTT,那又如何除了把它全部放在一个物理表中之外,还有其他方法。我把GTT想象成内存中的数据,而不是磁盘上的数据,这样它会更快…这不是真的吗?再次,看看其他人在这种情况下做了什么。我觉得我为此提供了足够的信息。有人能告诉我什么时候使用GTT合适吗?