如何在 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'.
已提出一些解决方法:
CREATE MATERIALIZED VIEW ... AS SELECT * FROM <TABLE>@dbLink
在目标机器上。资料来源:user500315 Feb 8, 2007 9:28 AM response to "ORA-22992: cannot use LOB locators selected from remote tables".
CREATE GLOBAL TEMPORARY TABLE
在目标机器上。 INSERT ... SELECT
到此临时 table 来自远程数据库的 CLOB
列。然后从那里开始。来源:"How to select table from remote database having clob field" @Ask Tom.
- 使用光标。资料来源:659137 May 11, 2009 6:51 PM response to "DBLink problem ORA-22992".
请发表评论,如果这需要调整/进一步的细节。
我有一组 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'.
已提出一些解决方法:
CREATE MATERIALIZED VIEW ... AS SELECT * FROM <TABLE>@dbLink
在目标机器上。资料来源:user500315 Feb 8, 2007 9:28 AM response to "ORA-22992: cannot use LOB locators selected from remote tables".CREATE GLOBAL TEMPORARY TABLE
在目标机器上。INSERT ... SELECT
到此临时 table 来自远程数据库的CLOB
列。然后从那里开始。来源:"How to select table from remote database having clob field" @Ask Tom.- 使用光标。资料来源:659137 May 11, 2009 6:51 PM response to "DBLink problem ORA-22992".
请发表评论,如果这需要调整/进一步的细节。