ORA-00997是Oracle数据库中的一个错误代码,表示“无法修改(由约束定义的)列”。这个错误通常发生在尝试修改一个表的列,而这个列被数据库约束(如主键、唯一键、外键或CHECK约束)所限制,不允许修改其值。 2. ORA-00997错误可能的原因 主键或唯一键约束:尝试修改的列是表的主键或唯一键,而新的值已经存在于表中。
今天在创建表的时候直接用的create table XXX as select * from AAA; 结果出了一个:ORA-00997: 非法使用 LONG 数据类型 的错误。 后来查了一下,做下笔记: 1、select查询语句中用到where 语句和排序时不能直接 使用数据类型为long的字段,这个时候可以换成联合查询,内联、外联、左右联等都可以,总之,就是不能...
INSERT INTO T_CLOB SELECT A, B FROM T_LONG ORA-00997: illegal use of LONG datatype SQL> INSERT INTO T_CLOB SELECT A,TO_LOB(B)FROM T_LONG; 1 row inserted SQL> COMMIT; Commit complete SQL> SELECT * FROM T_CLOB; A B --- --- 1 LONG DATA TO CLOB...
当执行如下语句的时候会报”ora-00997:非法使用LONG数据类型” insert into companies (long_column) select long_column from suppliers; 可以使用to_lob()函数来解决 insert into companies (lob_column) select to_lob(long_column) from suppliers;
ora-00997:非法使用LONG数据类型 当执行如下语句的时候会报”ora-00997:非法使用LONG数据类型” insert into companies (long_column) select long_column from suppliers; 可以使用to_lob()函数来解决 insert into companies (lob_column) select to_lob(long_column)...
* ERROR at line 1: ORA-00997: illegal use of LONG datatype SOLUTION: In general, we can’t create an object_type OF LONG datatype using CTAS method. desc siebel.s_org_ext Name Null? Type --- --- --- DIRECTIONS LONG However, There are two workarounds for this one. Solution 1:...
ORA-997非法使用LONG字段类型 Oracle在对表记录做插入时,如果使用insert…select…类型的语句,且操作中含有LONG/LONGRAW字段类型,那么会遇到报错ORA-00997:illegaluseofLONGdatatype。 SQL>createtablet1(numnumber,num2long); Tablecreated. SQL>insertintot1values(1,1); 1rowcreated. SQL>commi...
ORA-00997: 非法使用 LONG 数据类型ORA-00998: 必须使用列别名命名此表达式ORA-00999: 无效的视图名ORA-01000: 超出打开游标的最大数ORA-01001: 无效的游标ORA-01002: 读取违反顺序ORA-01003: 语句未进行语法分析ORA-01004: 不支持默认用户名特性;登录被拒绝ORA-01005: 未给出口令;登录被拒绝ORA-01006: 赋值...
oracle建议使用clob\blob\nclob来代替。如:create table t(a int,b long);insert into t values(1,'1');--可以这样创建,不过默认类型就成了clob create table t1 as select a,to_lob(b) from t;--也可以这样,先创建一个表,然后在插入数据时使用to_lob函数转换一下 create table t2 (a ...
在ORACLE中,LONG类型不能直接作为条件进行查询,在翻阅资料后,找到一个函数,亲测有效,希望能帮到各位! 函数 CREATE OR REPLACE FUNCTION SSCP.LONG_TO_CHAR(in_rowid rowid, in_owner varchar, in_table_name varchar, in_column varchar2) RETURN varchar AS ...