gpt4 book ai didi

sql - ORA-00997 : illegal use of LONG datatype 的解决方法

转载 作者:行者123 更新时间:2023-12-04 04:25:00 29 4
gpt4 key购买 nike

我想将系统表 user_tab_cols 中的一些数据保存到临时表中,以便我可以从中进行转储。
其中有 100,000 行,我从 user_tab_cols 中选择了大约 1,000 条记录,并使用以下查询将它们保存到临时表中:

create table temp table as 
select * from user_tab_cols where condition...
我有错误 'illegal use of longtype' ,因为列 DATA_DEFAULT 包含一种 long 类型。
有没有一种替代方法可以将长类型存储到另一个表中?

最佳答案

ORA-00997: illegal use of LONG datatype



这是一个 限制关于 的使用长数据类型。您不能创建具有 LONG 属性的对象类型。
SQL> CREATE TABLE t AS SELECT data_default FROM user_tab_cols;
CREATE TABLE t AS SELECT data_default FROM user_tab_cols
*
ERROR at line 1:
ORA-00997: illegal use of LONG datatype


SQL>

或者,您可以使用 TO_LOB 作为解决方法。这会将其转换为 CLOB 数据类型。

例如,
SQL> CREATE TABLE t AS SELECT TO_LOB(data_default) data_default FROM user_tab_cols;

Table created.

SQL> desc t;
Name Null? Type
----------------------------------------- -------- ----------------------------
DATA_DEFAULT CLOB

SQL>

查看更多变通方法示例 here .

关于sql - ORA-00997 : illegal use of LONG datatype 的解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29116396/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com