oracle的sql语句问题?把一张表中的记录insert into到另一张表中。怎么做

xieqi 2003-12-12 04:15:28
我有2张表,表1 的字段为 name,add,tel等
表2的字段为id,name,pass
表1是空表,没有记录,我现在要把表2的记录导到表1,怎么做?

要求表2的name字段,导到表1的name字段下,表1的add ,tel字段让它们为空。
也就是表2的记录根据name,一条一条insert into 到表1,add,tel字段不用去管。

我用php程序是可以完成的,但我想用一句sql语句能完成吗?
...全文
259 8 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
leecooper0918 2003-12-13

如果表2的记录很多,可以采用 direct load

alter table table1 nologging;
insert /*+ append */ into table1 select ... ;
commit;

如果表1有索引,可以先禁用索引,导入完毕后重建一下就可以了。
  • 打赏
  • 举报
回复
chanet 2003-12-12
或:

insert into a(id,name) values('1',(select id from b where rownum<=1));
  • 打赏
  • 举报
回复
jukyy 2003-12-12
tabel2的id字段最好是自动加1的,作为主键。
  • 打赏
  • 举报
回复
jukyy 2003-12-12
insert into table11(name) select name from table2;
最经典,还省事。
  • 打赏
  • 举报
回复
也可以用
Select 表1.name into 表2
生成一个表2。然后再用Alter tabel给表2增加两列就行了。
  • 打赏
  • 举报
回复
以上两位大哥已经说得很清楚了。

  • 打赏
  • 举报
回复
songyanxin 2003-12-12
insert into 表1
select name,NULL,NULL from 表2
  • 打赏
  • 举报
回复
zgh2003 2003-12-12
insert into 表1(name)
select name from 表2
  • 打赏
  • 举报
回复
相关推荐
发帖
基础和管理
加入

1.7w+

社区成员

Oracle 基础和管理
申请成为版主
帖子事件
创建了帖子
2003-12-12 04:15
社区公告
暂无公告