foxbei 发表于 2014-7-14 14:39:18

insert into table出现ORA-00997: illegal use of LONG datatype

OS:Oracle Linux 5.9 x64
数据库:11.2.0.3

执行以下insert语句:INSERT INTO MAKEPZ_FL_ZY select MODE_ID,FL_INX,ZYJC,ZYTEXT,ZYFIELD,USE_FLSQL,TO_LOB(ZYSQLTEXT) from MAKEPZ_FL_ZY@ERP_CS;
INSERT INTO MAKEPZ_FL_ZY select MODE_ID,FL_INX,ZYJC,ZYTEXT,ZYFIELD,USE_FLSQL,TO_LOB(ZYSQLTEXT) from MAKEPZ_FL_ZY@ERP_CS
                                                                                                    *
ERROR at line 1:
ORA-00997: illegal use of LONG datatype表结构:SQL> desc MAKEPZ_FL_ZY
Name                                      Null?    Type
----------------------------------------- -------- ----------------------------
MODE_ID                                   NOT NULL NUMBER(10)
FL_INX                                    NOT NULL NUMBER(5)
ZYJC                                      NOT NULL NUMBER(3)
ZYTEXT                                             VARCHAR2(20)
ZYFIELD                                            VARCHAR2(10)
USE_FLSQL                                 NOT NULL NUMBER(1)
ZYSQLTEXT                                          LONGgoogle了一些帖子,说是加了to_lob,但加上后仍出ORA-00997,请问该如何解决?

Leo 发表于 2014-7-14 14:43:13

可以修改表结构的话,直接换成clob吧!

foxbei 发表于 2014-7-14 14:44:09

表结构不能修改的话,有没有别的办法。

星空 发表于 2014-7-14 21:35:29

不修改表结构,那可以创建新表吗?如果可以的话新创建的表把字段类型更改了。然后把原表重命名。之后把新表命成和原表一样的名字,再执行插入操作就可以了。
页: [1]
查看完整版本: insert into table出现ORA-00997: illegal use of LONG datatype