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

2024-12-05 15:17:12
推荐回答(3个)
回答1:

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

回答2:

create
table
newtablename
as
select
*
from
oldtablename;
INSERT
INTO
tab2(id,num)
SELECT
id,
num,
FROM
tab1
WHERE
id>12;
如果是全部复制的话
,这个where
条件可以省略。
其实你简单的而理解后面的select是一个view或者是一个中间表都ok;
只要你知道他们的字段什么的设置都一样就完全可以insert
。条件是他们的字段必须对应

回答3:

首先要看两个表的字段是否一致,如果一致的话,就
insert
into
table1
select
*
from
table2;
如果不一致,还需要分情况处理的:
1、如table1的字段为
id,name,value,而table2的字段为id,name
insert
into
table1
select
id,name,null
from
table2;//在这里需要给table1的value字段赋值的,先赋空值,不然会出错的
2、如table1的字段为
id,name,而table2的字段为id,name,value
insert
into
table1
select
id,name
from
table2;
试下吧