Oracle PLSQL合并临时表中的记录

时间:2013-04-20 07:09:24

标签: sql oracle plsql

我在PLSQL中有一个填充临时表的过程。数据如下所示:

BUYER_NAME  QUANTITY   AMOUNT
-------------------------------
JOHN        10         1200
JOHN        12         1310
ALAN        15         1450
ALAN        10         1200
JOHN        20         2400

我需要总结每位买家的数量和金额,然后删除现有数据并再次填写表格,以便每个买家名称只出现一次总数量和金额。

我知道如果我创建另一个临时表并通过它传输数据,就可以完成此操作。但是,是否可以合并同一临时表中的记录(并在同一会话中)?

1 个答案:

答案 0 :(得分:0)

听起来这里的问题是填充表的initil pl / sql过程。为什么不修改它来做这个呢?我怀疑答案是它会大量使用pl / sql - 如果是这样,请尽一切努力将其转换为SQL,或者将其转换为可以从中选择并汇总输出的流水线函数。 / p>

除此之外,我只是将结果汇总到另一个表中。我假设这些是全局临时表,因此实际上没有太多开销,因为直接路径插入到GTT比修改已经存在的表更有效。