ALTER table CONTRACTOR MODIFY( NOTE VARCHAR2(1000));
Oracle给了我这个:
ORA-01429: Index-Organized table: no data segment to store overflow row-pIEces
这是一个10g的数据库.有什么想法吗?我可以创建一个重复的列,复制数据,然后删除旧列,但我想知道在我这样做之前这个错误是什么.
解决方法 根据 documentation,您需要为可能大到大的行指定溢出段以适合单个块.考虑(10.2.0.3 – 8k块):
sql> CREATE table contractor ( 2 ID NUMBER PRIMARY KEY,3 data_1 CHAR(1000),4 data_2 CHAR(1000),5 data_3 CHAR(1000),6 data_4 CHAR(1000),7 data_5 CHAR(1000),8 NOTE VARCHAR2(200) 9 ) 10 ORGANIZATION INDEX;ORA-01429: Index-Organized table: no data segment to store overflow row-pIEces
但是,当您指定溢出段时:
sql> CREATE table contractor ( 2 ID NUMBER PRIMARY KEY,8 NOTE VARCHAR2(200) 9 ) 10 ORGANIZATION INDEX 11 OVERFLOW tableSPACE USER_DATA;table created总结
以上是内存溢出为你收集整理的oracle – 当我尝试将列从VARCHAR2(200)修改为VARCHAR2(1000)时,为什么会出现“ORA-01429:索引组织表”?全部内容,希望文章能够帮你解决oracle – 当我尝试将列从VARCHAR2(200)修改为VARCHAR2(1000)时,为什么会出现“ORA-01429:索引组织表”?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)