
# U0100067: GaussDB 中 CREATE TABLE AS 语法不支持创建分区表
#### 描述
GaussDB 的 CREATE TABLE AS 语法不支持创建分区表。
**数据库类型与版本**
- 源库类型与版本：UGO 支持的 Oracle 版本。
- 目标库类型与版本：GaussDB v2.0-8.100 之前的版本。
**语法示例**
```
CREATE TABLE sales_interval_part
PARTITION BY RANGE (sale_date)
INTERVAL ('1 MONTH')
(
    PARTITION p_hist VALUES LESS THAN (TO_DATE('2023-01-01', 'YYYY-MM-DD'))
)
AS
SELECT sale_id, sale_date, product_id, region, amount
FROM sales_source
WHERE sale_date >= DATE '2023-01-01';
```
#### 改造建议
改写思路如下：首先创建分区表，然后insert into select的方式插入数据。
GaussDB修改后：
```
CREATE TABLE sales_interval_part (                                                 
     sale_id numeric,                                                               
     sale_date timestamp without time zone,                                         
     product_id text,                                                               
     region text,                                                                   
     amount numeric                                                                 
 )                                                                                         
 PARTITION BY RANGE (sale_date)                                                     
 INTERVAL ('1 mon')                                                                 
 (                                                                                  
     PARTITION p_hist VALUES LESS THAN ('2023-01-01 00:00:00') TABLESPACE pg_default
 );   
insert into sales_interval_part SELECT sale_id, sale_date, product_id, region, amount
FROM sales_source
WHERE sale_date >= DATE '2023-01-01';
```
