在对Oracle数据库的数据进行归档整理的时候,按计划我准备把库中某表旧一年的数据导入备份表中,再删除原表中这些已备份的数据。在TOAD的SQL窗口里运行insert into命令往已存在的一个备份表导入数据时,出现了“ORA-00913: 值太多”的错误提示。一时不明原因,只好另外新建一张表,将备份数据导入新表,这次倒没有出现“值太多”的提示。
做完备份清理,重新考虑前面的错误提示,恍然大悟,原来这张表数据结构在该年度之初已经修改过,增加了一些列,而备份表的结构是以前较早时建立的,用于保存归档备份数据,它的表结构仍然保持旧的状态,将新的结构的数据表中的数据插入旧的备份表中,自然新表有的列的数据就没地方存了,所以出现值太多的提示。而后来新建的备份表,是按新表的结构建立的,所以就没问题。
原来我这里“ORA-00913: 值太多”是这个意思!
>> 除非说明均为原创,如转载请注明来源于http://www.stormcn.cn/post/898.html