【发布时间】:2016-06-18 10:42:25
【问题描述】:
我的表格包含以下列:
foo integer default 0
'ID', 'INTEGER'
'date','DATE'
'F','VARCHAR2(20 CHAR)'
我尝试插入以下值:
insert into table (foo,id,date,F) values('1','4','01.01.2016','aa');
我收到以下错误:
SQL 错误:ORA-14400 插入的分区键未映射到任何 划分 14400. 00000 - “插入的分区键没有映射到任何分区”
*原因:尝试将记录插入到范围或组合中 范围对象,具有超出的连接分区键 最后一个分区的连接分区绑定列表 -OR- 尝试将记录插入到 List 对象中 与指定的文字值不匹配的分区键 对于任何分区。 *行动:不要插入钥匙。或者,添加一个能够接受的分区 键,或者将与键匹配的值添加到分区规范
我做错了什么?
更新:
call meta_ddl.create_table ('table1','create table table1 (foo integer default 0) $#TABLEOPTIONS#$');
call meta_ddl.add_column ('table1','ID', 'INTEGER');
call meta_ddl.add_column_with_default('table1','DATE','DATE', 'SYSDATE', 1);
call meta_ddl.add_column ('table1','F','VARCHAR2(20 CHAR)');
【问题讨论】:
-
可能您未能设置分区来保存您尝试插入表中的值。但是由于问题缺少有关如何对表进行分区的详细信息,因此您要么必须自己调查,要么使用完整的表描述(包括分区子句)更新您的问题。
-
请将相关表的完整 DDL(CREATE 语句)添加到您的问题中。
-
@Codo 我已经更新了
-
什么是 $#TABLEOPTIONS#$?
-
我怀疑这是整个 DDL。您的表必须有分区。是否隐藏在
$#TABLEOPTIONS#$中?