为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
【操作系统】:linux
【CPU】:i9
【问题描述】*:我已经开启了CTAB_WITH_LONG_ROW模式,新创建的表是默认开启LONG ROW模式的,但是在使用CTAS创建表时却无法开启LONG ROW模式,请问有没有办法在使用CTAS时开启LONG ROW模式呢,业务需求只能使用CTAS来创建表,不能先创建好表再去insert
CTAB_WITH_LONG_ROW=1生效的附加条如下:
1. 非 HUGE 表、临时表和外部表
2. 建表不包含聚集主键约束
3. 如果是分区表,则不包含ENABLE ROW MOVEMENT子句
4. 整行记录总长度超长。长度上限可参考《DM8 SQL语言使用手册》中表 1.4.1
满足附加条件后,经测试CTAS可以生效
CREATE TABLE TEST_LONG_ROW (
ID INT PRIMARY KEY, -- 普通主键,不是聚集主键
NAME VARCHAR(100),
COL1 VARCHAR(4000),
COL2 VARCHAR(4000),
COL3 VARCHAR(4000),
COL4 VARCHAR(4000),
COL5 VARCHAR(4000)
)
PARTITION BY RANGE (ID) -- 分区表
INTERVAL ('1000')
(
PARTITION P1 VALUES LESS THAN (1000)
);
create table test1 as select * from TEST_LONG_ROW;
SELECT TABLE_NAME, LONG_ROW FROM DBA_TABLES WHERE TABLE_NAME = 'TEST1';

CTAB_SEL_WITH_CONS这个参数没开吗