【发布时间】:2015-05-20 21:40:27
【问题描述】:
我想将系统表 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 类型。
是否有替代方法可以将长类型存储到另一个表中?
【问题讨论】:
-
longs 是极其有限的类型。您没有使用CLOBs 有什么特别的原因吗? -
@Mureinik 我正在从 user_tab_cols 中提取一些包含 long 列的数据,有没有办法提取这些数据?
-
没有注册表名...代表我这是一个愚蠢的问题。过错。
-
使用 TO_LOB 将其转换为 CLOB。看我的回答。
-
SQL*Plus COPY 命令可能会有所帮助——之前通过 DB Link 将它用于 Oracle-to-Oracle,用于包含 LONG 的表。我不知道它是否适用于 MySQL-to-Oracle。其他替代方法可能是查看 Java 存储过程以打开与远程数据库的连接并获取数据然后在本地插入。
标签: sql oracle sqldatatypes sqllong