Oracle SQL:基于单个结果集批量插入多个表

问题描述 投票:0回答:1

我编写了一个计算成本较高的选择查询,它会生成特定的结果集。我需要将此结果插入到一个表中,并将该结果集的聚合插入到另一个表中。我需要在单个事务中完成这些操作,而不是使用两个事务,因为这可能会导致无关紧要的数据问题。

请求您帮助我了解如何在 Oracle 中执行此操作。

sql database oracle insert batch-processing
1个回答
0
投票

你可以使用

INSERT ALL

INSERT ALL 
  INTO table1 (<cols to insert 1>) 
    VALUES (<cols from result>) 
  INTO table2 (<cols to insert 2>) 
    VALUES (< cols from result>) 
  WITH dat AS ( 
    < your data >
  ) 
  SELECT * FROM dat;

供参考

© www.soinside.com 2019 - 2024. All rights reserved.