我编写了一个计算成本较高的选择查询,它会生成特定的结果集。我需要将此结果插入到一个表中,并将该结果集的聚合插入到另一个表中。我需要在单个事务中完成这些操作,而不是使用两个事务,因为这可能会导致无关紧要的数据问题。
请求您帮助我了解如何在 Oracle 中执行此操作。
你可以使用
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;
供参考。