如何在 Oracle 中将具有 CLOB 列的 table 从一个用户复制到另一个用户

How to copy table having CLOB column from one user to another in Oracle

我有一组 table 应该从一个用户复制到另一个用户。我写了一个程序,当我 运行 它时复制所有 table。 table 之一有 CLOB 列,当我 运行 程序时显示错误。

我试过了

insert into destination_table_name values(select colume_name from source_table_name);

但是 table 有 20 列,所以不能使用以上一列。请帮助我修复错误。

实际的错误信息是:

"**ORA-22992: cannot use LOB locators selected from remote tables**"

如果您使用 select 作为 insert 的来源,则不得指定 values 子句,即 clearly documented in the manual 您还应该始终指定您希望插入影响的列:

insert into destination_table_name (column_1, column_2, column3_)
select colume_1, column_2_column_3 
from source_table_name;

如果你想复制整个table(数据)无论如何,最直接的方法似乎是:

CREATE TABLE OtherSchema.TableCopy AS
  SELECT * FROM OriginalSchema.OriginalTable
;

更新

您的评论

"ORA-22992: cannot use LOB locators selected from remote tables" is my error.

完全改变了画面。错误消息反映这不可行 'by design'.

已提出一些解决方法:

请发表评论,如果这需要调整/进一步的细节。