2
我知道,你可以创建一个表导出这样的:在Oracle中,如何创建与现有表具有完全相同结构的外部表?
create table bulk_mbr organization external(
type ORACLE_DATAPUMP
default directory jason_home
location ('mbr.dat'))
as SELECT * FROM mbr;
但我想进口做这样的事情,所以我可以用相同的结构创建一个外部导入表作为现有表,将数据加载到它中,然后执行一个简单的INSERT INTO/SELECT FROM查询以将数据移到那里。有没有办法做到这一点?
我已经试过这一点,但它不工作:
create table bulk_mbr organization external(
type ORACLE_LOADER
default directory jason_home
location ('mbr.dat'))
as SELECT * FROM mbr where 1=0;
不过的了:
ORA-30657:不支持 外部组织表操作
是的,我们确实有一个,但是有太多的表我们正在用这个来手工制作每个表。 'DBMS_METADATA.get_ddl'也是一个很好的想法,但它似乎并不容易自动化。有没有另外一种方法来做到这一点,或者我只是要咬牙切齿地将PL/SQL块拼凑在一起以完成user_tab_cols的所有工作? – 2009-10-27 15:07:24
这可能不是OP想要听到的答案 - 因为它涉及到额外的打字。当ORA-30657不适用于DATA \ _PUMP驱动程序时,使用ORACLE \ _LOADER驱动程序是令人沮丧的。 – APC 2009-10-27 15:15:13