oracle 分区表(按日期)

jpfvwuh4  于 2023-08-03  发布在  Oracle
关注(0)|答案(2)|浏览(128)

当创建下表时,我得到错误缺少左括号,请sugget -

CREATE TABLE TMP_WRK_KYC_RPT_FINAL AS
SELECT /*+PARALLEL(20)*/ * FROM PROD.WRK_KYC_RPT_FINAL
PARTITION BY RANGE (T_DATE_DESC)
INTERVAL (NUMTOYMINTERVAL (1,'MONTH')) 
    (PARTITION TRANSACTION_01 VALUES LESS THAN (TO_DATE('01-FEB-2023','DD-MON-YYYY')))
    (PARTITION TRANSACTION_02 VALUES LESS THAN (TO_DATE('01-MAR-2023','DD-MON-YYYY')))
    (PARTITION TRANSACTION_03 VALUES LESS THAN (TO_DATE('01-APR-2023','DD-MON-YYYY')))
    (PARTITION TRANSACTION_04 VALUES LESS THAN (TO_DATE('01-MAY-2023','DD-MON-YYYY')))
    (PARTITION TRANSACTION_05 VALUES LESS THAN (TO_DATE('01-JUN-2023','DD-MON-YYYY')))
    (PARTITION TRANSACTION_05 VALUES LESS THAN (TO_DATE('01-JUL-2023','DD-MON-YYYY')));

字符串
创建下表时,我得到错误缺少左括号

drkbr07n

drkbr07n1#

你的SELECT部分太早了。您必须首先提供所有的CREATE TABLE子句,然后再提供AS SELECT

CREATE TABLE TMP_WRK_KYC_RPT_FINAL 
PARALLEL (DEGREE 16)
PARTITION BY RANGE (T_DATE_DESC)
INTERVAL (NUMTOYMINTERVAL (1,'MONTH')) 
  (PARTITION TRANSACTION_01 VALUES LESS THAN (TO_DATE('01-FEB-2023','DD-MON-YYYY')))
AS
SELECT * FROM PROD.WRK_KYC_RPT_FINAL

字符串
其他注意事项:
1.由于您正在设置间隔分区,因此应该只提供一个(第一个)显式分区。对于范围分区,在创建时必须至少指定一个分区,但在数据加载时,间隔将自动创建所需的任何其他分区。
1.显式分区列表用括号括起来,但该列表中的各个分区用逗号而不是括号分隔。但同样,由于间隔,您只需要一个。
1.最后,在CTAS中,最好在CREATE TABLE部分中请求并行性,而不是在SELECT中使用提示。这样,它就并行化了数据加载本身。否则,它将在序列化数据负载上形成瓶颈,并且选择并行性将没有任何好处。

wgx48brx

wgx48brx2#

到目前为止,我从来没有创建表作为选择与分区。首先创建分区表,然后将select插入其中。创建表应沿着以下行:

create table zzz_t (
val_dt date not null,
ctr_nmbr varchar2(200) not null
)
PARTITION BY RANGE (val_dt) INTERVAL (NUMTOYMINTERVAL (1,'MONTH')) (
  PARTITION TRANSACTION_01 VALUES LESS THAN (TO_DATE('01-FEB-2023','DD-MON-YYYY')), 
  PARTITION TRANSACTION_02 VALUES LESS THAN (TO_DATE('01-MAR-2023','DD-MON-YYYY')), 
  PARTITION TRANSACTION_03 VALUES LESS THAN (TO_DATE('01-APR-2023','DD-MON-YYYY')), 
  PARTITION TRANSACTION_04 VALUES LESS THAN (TO_DATE('01-MAY-2023','DD-MON-YYYY')),
  PARTITION TRANSACTION_05 VALUES LESS THAN (TO_DATE('01-JUN-2023','DD-MON-YYYY'))
) 
    ;

字符串
无法猜出您要从中选择的表中的列,但提取该表的DDL并复制和粘贴应该很容易。

相关问题