在oracle中如何将一个表中所有数据加到另一个表中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在oracle中如何将一个表中所有数据加到另一个表中相关的知识,希望对你有一定的参考价值。

参考技术A

1、导出所有:exp 用户名/密码@数据库名称 file=导出文件存放路径及文件名  full=y全部导出eg:exp admin/123456@p2p file=d:\\p2p.dmp full=y。

2、使用命令行导出指定的表,不导出全部,使用命令如下: exp system/manager@TEST file=d:\\daochu.dmp tables=(table1,table2) ,只导出table1和table2两个表的数据。

3、导入dmp类型的文件到oracle数据库使用imp命令。

4、使用plsql导出数据库,也可以导出dmp文件类型的。

5、打开plsql,找到工具->导出表,选择Oracle导出,选择需要导出的表,然后点击输出文件,输入文件名称,点击导出即可。

6、使用plsql导出pde文件类型,具体的操作和导出dmp差不多,只是选择PL/SQL导出,导出文件路径选择,然后导出。

7、需要把创建表的复选框勾选,否则,导入的时候如果数据库没有对应的表结构会报异常。

oracle - 如何将一个表中的唯一值多次插入到另一个表中?

【中文标题】oracle - 如何将一个表中的唯一值多次插入到另一个表中?【英文标题】:oracle - How to insert unique values from a table to another multiple times? 【发布时间】:2014-06-05 20:46:12 【问题描述】:

使用 Oracle 12c,例如,我在一个表 TABLEA 的 PK 列中有 5 行,其值为 1、2、3、4、5。我想将值插入另一个表TABLEB 3 次。所以 TABLE 在插入后会有 15 行,其值为 1,1,1,2,2,2,3,3,3,4,4,4,5,5,5。我怎样才能做到这一点?

我正在尝试创建一个脚本,该脚本将插入从 TABLEATABLEB 的值(如果它们尚不存在)。目前我手动将TABLEA 中的每个值插入TABLEB 3 次。

【问题讨论】:

【参考方案1】:

您可以使用cross join。查询看起来像这样:

insert into t(pk)
    select pk
    from table t2 cross join
         (select 1 as n from dual union all select 2 from dual union all select 3 from dual
         ) n;

【讨论】:

以上是关于在oracle中如何将一个表中所有数据加到另一个表中的主要内容,如果未能解决你的问题,请参考以下文章

oracle - 如何将一个表中的唯一值多次插入到另一个表中?

如何将一个表中的随机值添加到另一个 Oracle SQL

ORACLE中用PLSQL如何把一个表中数据通过.DMP文件导出,再导入到另一个数据库的一个相同表结构的表中?

Oracle 将一个表中几个字段更新到另一个表中

如何将一个数据库中的一个表复制到另一个数据库中的表中

将一个表的查询结果插入到另一个表中(oracle、mysql、sql 、GP)