注册

在匿名块中向间隔分区表新增记录时无法自动扩展新分区

Hanson.T 2023/08/30 687 10 已解决

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:WIN10
【CPU】:
【问题描述】*:
我使用的DM8的BUILD_VERSION为:1-3-12-2023.04.17-187846-20040-ENT

测试中发现,在匿名块中向分区表的已存在分区中新增记录没问题,但如果新增记录需要自动扩展新分区,则会报“-2903: 语句块/包/存储函数中的间隔分区不支持自动扩展” 错误。

由提示内容能看出,存储过程、包也有同样问题,请问这个是否有变通方案或改进计划?

呃,预先把分区都加进来然后TRUNCATE表这个办法就不用了吧。。。

我的测试过程如下:

--DROP TABLE TST_INV; --建时间间隔分区表 CREATE TABLE TST_INV ( DATEVAL DATETIME, ID INT, NAME VARCHAR2(32) ) PARTITION BY RANGE(DATEVAL) INTERVAL (NUMTODSINTERVAL(1,'day')) ( PARTITION PART_DEF VALUES LESS THAN(TO_DATE('2020-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss')) ); --新增记录 INSERT INTO TST_INV VALUES(TO_DATE('2020-01-02 00:00:00','yyyy-mm-dd hh24:mi:ss'),1,'ASDF') COMMIT; --查看数据 SELECT * FROM TST_INV; --查看分区情况 SELECT * FROM USER_TAB_PARTITIONS WHERE TABLE_NAME = 'TST_INV'; --通过匿名块新增记录 BEGIN --向已存在分区中新增记录正常 --INSERT INTO TST_INV VALUES(TO_DATE('2020-01-02 00:00:00','yyyy-mm-dd hh24:mi:ss'),2,'QWER'); --新增需要扩展分区的记录时报错 INSERT INTO TST_INV VALUES(TO_DATE('2020-01-03 00:00:00','yyyy-mm-dd hh24:mi:ss'),2,'QWER'); END;
回答 0
暂无回答
扫一扫
联系客服