度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 1313|回复: 6
打印 上一主题 下一主题

[分享] ora-14400:插入的分区关键字未映射到任何分区

[复制链接]

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
跳转到指定楼层
楼主
发表于 2020-6-13 13:51:38 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
ora-14400:插入的分区关键字未映射到任何分区。
过程如下:
首先创建一个分区表:
create table TEST_INSER
(
  ST_INSER_CODE        VARCHAR2(20),
  DT_INSER_WRITEDATE   DATE
)
PARTITION BY RANGE(DT_INSER_WRITEDATE)
(
PARTITION jan2008 VALUES LESS THAN(TO_DATE('2008-2-1','YYYY-MM-DD')),
PARTITION feb2008 VALUES LESS THAN(TO_DATE('2008-3-1','YYYY-MM-DD')),
PARTITION mar2008 VALUES LESS THAN(TO_DATE('2008-4-1','YYYY-MM-DD')),
PARTITION apr2008 VALUES LESS THAN(TO_DATE('2008-5-1','YYYY-MM-DD')),
PARTITION may2008 VALUES LESS THAN(TO_DATE('2008-6-1','YYYY-MM-DD')),
PARTITION jun2008 VALUES LESS THAN(TO_DATE('2008-7-1','YYYY-MM-DD')),
PARTITION jul2011 VALUES LESS THAN(TO_DATE('2011-8-1','YYYY-MM-DD'))
);
然后将已经存在表T_INSER中的数据导入这个新建的分区表
SQL>INSERT INTO TEST_INSER SELECT * FROM T_INSER;
报ora-14400错误!
尝试如下:
SQL>INSERT INTO TEST_INSER SELECT * FROM T_INSER WHERE DT_INSER_WRITEDATE IS NOT NULL;
依旧报错!
SQL>ALTER TABLE TEST_INSER ENABLE ROW MOVEMENT;
依旧报错!
SQL>ALTER TABLE TEST_INSER DROP PARTITION jul2011;
SQL>ALTER TABLE TEST_INSER ADD PARTITION maxpart VALUES LESS THAN (MAXVALUE);
成功导入了!
SQL>SELECT * FROM TEST_INSER PARTITION (maxpart);
检查一下最后一个partition中的数据,发现有DT_INSER_WRITEDATE有2028年的,原来不是NULL值惹的祸,我以为该字段有NULL值,所以开始才加了IS NOT NULL的过滤条件,仍旧导不进去,说明还是字段的值的确超出了现有的partition的值范围。至于那个ENABLE ROW MOVEMENT语句段,可以看这个例子:
SQL>ALTER TABLE TEST_INSER DISABLE ROW MOVEMENT;
SQL>UPDATE TEST_INSER SET DT_INSER_WRITEDATE=TO_DATE('2008-3-1','YYYY-MM-DD') WHERE TO_CHAR(DT_INSER_WRITEDATE,'YYYY') = '2028';
报错!ORA-14402:更新分区关键字列将导致分区的更改
SQL>ALTER TABLE TEST_INSER ENABLE ROW MOVEMENT;
SQL>UPDATE TEST_INSER SET DT_INSER_WRITEDATE=TO_DATE('2008-3-1','YYYY-MM-DD') WHERE TO_CHAR(DT_INSER_WRITEDATE,'YYYY') = '2028';
成功!

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
7#
 楼主| 发表于 2020-2-15 14:40:15 | 只看该作者
回复 支持 反对

使用道具 举报

235

主题

2547

帖子

5835

积分

论坛元老

Rank: 8Rank: 8

积分
5835
6#
发表于 2020-2-14 19:29:22 | 只看该作者
回复 支持 反对

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
5#
 楼主| 发表于 2020-6-16 13:44:39 | 只看该作者
回复 支持 反对

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
地板
发表于 2020-6-13 14:59:21 | 只看该作者
回复 支持 反对

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
板凳
发表于 2020-6-13 14:58:23 | 只看该作者
回复 支持 反对

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
沙发
 楼主| 发表于 2020-6-13 13:52:31 | 只看该作者
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-11-24 12:09 , Processed in 0.184608 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表