使用并行提示插入ALL

时间:2018-03-26 08:22:33

标签: sql oracle

我需要使用INSERT ALL语句进行并行插入:

INSERT /*+ APPEND NOLOGGING PARALLEL(A,4) PARALLEL(B,4) */ ALL
WHEN COL1 NOT LIKE '123%' THEN INTO SCHEMA.TABLE1 A
WHEN COL1 LIKE '123%' OR COL2 LIKE '5%' THEN INTO SCHEMA.TABLE2 B
SELECT /*+ PARALLEL(C,4) */* FROM SCHEMA.EXTERNAL_TABLE C;

但是当我使用表别名(SCHEMA.TABLE1 A)时出现错误"缺少SELECT关键字"

我该怎么做?

1 个答案:

答案 0 :(得分:1)

试试这个:

insert /*+ append parallel(table1,4) parallel(table2,4) */ all
    when col1 not like '123%' then into table1
    when col1 like '123%' or col2 like '5%' then into table2
select /*+ parallel(c,4) */* from table3 c;

我删除了NOLOGGING评论,因为它在提示列表中令人困惑。