在oracle中如何将一个表中所有数据加到另一个表中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在oracle中如何将一个表中所有数据加到另一个表中相关的知识,希望对你有一定的参考价值。
参考技术A1、导出所有: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。我怎样才能做到这一点?
我正在尝试创建一个脚本,该脚本将插入从 TABLEA
到 TABLEB
的值(如果它们尚不存在)。目前我手动将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 - 如何将一个表中的唯一值多次插入到另一个表中?