【问题标题】:Oracle insert from multiple selectsOracle 从多个选择中插入
【发布时间】:2017-11-01 19:52:32
【问题描述】:

我正在尝试找到一种方法将多个选择的结果插入到合并表中。下面是一个伪例子...

SELECT T1.VAL1,T1.VAL2,T1.VAL3 FROM TABLE1 T1
SELECT T2.VAL4,T2.VAL5,T2.VAL6 FROM TABLE2 T2

FOR ALL T1 LOOP
    FOR ALL T2 LOOP
        INSERT INTO TABLE3 T3
        (COL1,COL2,COL3,COL4,COL5,COL6)
        VALUES
        (T1.VAL1,T1.VAL2,T1.VAL3,T2.VAL4,T2.VAL5,T2.VAL6)
    END
END

所以如果 T1 返回 25 行,T2 返回 100,我将总共有 2500 行插入到 T3 中。

提前致谢。

K

【问题讨论】:

    标签: oracle insert


    【解决方案1】:

    您可以使用CROSS JOIN。不需要LOOP

    INSERT INTO table3 t3 (
        col1,
        col2,
        col3,
        col4,
        col5,
        col6
    )
        SELECT
            t1.val1,
            t1.val2,
            t1.val3,
            t2.val4,
            t2.val5,
            t2.val6
        FROM
            table1 t1
            CROSS JOIN table2 t2;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-27
      • 2022-06-16
      • 1970-01-01
      • 2012-07-11
      • 1970-01-01
      • 1970-01-01
      • 2012-09-24
      • 2014-09-04
      相关资源
      最近更新 更多