oracle ORA-14400: - “插入的分区键没有映射到任何分区”

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/35800419/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-09 01:02:27  来源:igfitidea点击:

ORA-14400: - "inserted partition key does not map to any partition"

oracleoracle12c

提问by Ronald

I have the table with the following colums:

我有以下列的表:

foo integer default 0 
'ID', 'INTEGER'
'date','DATE'
'F','VARCHAR2(20 CHAR)'

I try to insert the following values:

我尝试插入以下值:

insert into table (foo,id,date,F) values('1','4','01.01.2016','aa');

and I get the following error:

我收到以下错误:

SQL-error: ORA-14400 inserted partition key does not map to any partition 14400. 00000 - "inserted partition key does not map to any partition"

*Cause: An attempt was made to insert a record into, a Range or Composite Range object, with a concatenated partition key that is beyond the concatenated partition bound list of the last partition -OR- An attempt was made to insert a record into a List object with a partition key that did not match the literal values specified for any of the partitions. *Action: Do not insert the key. Or, add a partition capable of accepting the key, Or add values matching the key to a partition specification

SQL 错误:ORA-14400 插入的分区键未映射到任何分区 14400。00000 -“插入的分区键未映射到任何分区”

*原因:尝试将记录插入到 Range 或 Composite Range 对象中,并且连接分区键超出了最后一个分区的连接分区绑定列表 - 或 - 尝试将记录插入到列出具有与为任何分区指定的文字值不匹配的分区键的对象。*行动:不要插入钥匙。或者,添加能够接受键的分区,或者添加与键匹配的值到分区规范

What did I do wrong?

我做错了什么?

UPDATE:

更新:

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)');

回答by Ageonix

Columns "foo" and "id" are integer types, no need to add the single ticks around them on an insert. Not sure if this is causing your specific issue, but it can't help.

列“foo”和“id”是整数类型,不需要在插入时在它们周围添加单个刻度。不确定这是否会导致您的具体问题,但它无济于事。

insert into table (foo,id,date,F) values(1,4,'01.01.2016','aa');

You may also be trying to insert a value that's outside a partition range. I've seen this happen before with date ranges. But we can't answer that unless you post the table definition.

您可能还尝试插入分区范围之外的值。我以前见过这种情况发生在日期范围内。但是除非您发布表定义,否则我们无法回答。