oracle数据库 批量将原有数据表中数据插入新表

rt,本人数据库小白。做一个项目,需要从原有数据表中获取部分记录,并插入新表。假如原始数据表是如下形式:
姓名 更新日期 身高
张三 89年 150cm
张三 95年 160cm
张三 99年 170cm
李四 88年 150cm

那么我新的表格需要这种形式
姓名 更新日期 身高
张三 99年 170cm
李四 88年 150cm

即有选择性记录数据,请问如何实现,在线等

第1个回答  2015-11-07
可以通过insert into …… as select 语句来进行实现。
sql:insert into tablename2( id,name) as select id ,name from tablename2 where 条件语句。
备注:以上语句中插入的字段顺序必须要和查询的语句的顺序保持一致,否则会报错,如果有条件语句的话,可以增加 where条件。
第2个回答  2013-07-16
create table 新表(相应字段) as
select distinct name,max(formate(日期,"YYYY")),max(身高) from 旧表

其中日期格式你自己查看下忘记怎么格式化了意思就是这样,这样只取更新日期最近的,至于身高会不会是最大感觉楼主例子还是有问题没描述清楚,身高一定会增高?和更新日期增加而增加?
第3个回答  2013-07-16
create table newtable as select * from oldtable
where rowid=(select rowid from oldtable where (姓名,更新日期) in (select 姓名,max(更新日期) from oldtable group by 姓名));

此语句适用于 ‘身高’ 字段后面还有更多字段本回答被提问者采纳
第4个回答  2013-07-16
insert into 新表(姓名,更新日期,身高)
select 姓名,更新日期,身高
from 原表
where ((姓名=’张三‘ and 更新日期=’99年‘) or (姓名=’李四‘ and 更新日期=’88年‘))追问

问题是我姓名字段有很多条记录,有一种高效的循环访问机制吗?

追答

你具体是想根据姓名怎么取数据,如果只是简单的去重复,可以select distinct(姓名),更新日期,身高
from 原表

本回答被网友采纳
第5个回答  2013-07-16
create table new_tablename
as
select 姓名,max(更新日期) 更新日期,身高 from old_table group by 姓名,身高;

在oracle中如何将一个表中所有数据加到另一个表中
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和ta...

在oracle中怎么将查询到的数据插入到另一个表中?
在Oracle数据库中,将查询结果插入到新表的操作相当直接。以下是详细的步骤:首先,你需要使用SQL的INSERTINTO语句。假设你要将数据从表s_tab插入到表t_tab中,可以这样操作:INSERTINTOt_tab 然后,添加一个子查询,通过指定条件筛选你需要插入的数据。例如,如果你只想把满足特定条件的行插入,可以写成...

在oracle中怎样把一个数据库中的一张表的数据复制到另一个数据库中的...
1、使用plsql连接上数据库,展开【Tables】菜单项,下面出现的就是数据库表。2、在数据库表tblTest上面点击鼠标右键,选择【Query data】,此项的目的是查询这张数据库表的数据。3、点击完成【Query data】之后,右侧会出现一个SQL语句的窗口,默认有一条【select * from 表名】的sql语句,下方还有一...

oracle表批量插入数据
1、登录数据库,在左上角,点开文件,打开SQL脚本,新建一个空白窗口。2、查找需要的表,对表进行修改。3、点击解锁,可以对数据进行编辑。4、鼠标先选中一整行,然后用鼠点击要添加列的左下角,表格变成蓝色箭头。5、右击,黏贴,数据添加完成。6、点击绿色的勾,点击提交即可。

oracle 数据库把查询一个表的数据添加到另一个表里, 可是其中一列是固定...
(3)如果两个表的表结构一致的话,可以直接查询插入 insert into A (select * from B) --前提是A表B表同库,字段一致,这样就把B表所有数据追加写入到了A表里;如果需要写入固定值,那么就得把两表对应的字段写出来 insert into A (A.field1, A.field2, A.field3, A.field4) values (...

oracle 数据库把查询一个表的数据添加到另一个表里, 可是其中一列是固定...
如果两个表的表结构一致的话,可以直接查询插入 insert into A (select * from B) --前提是A表B表同库,字段一致,这样就把B表所有数据追加写入到了A表里;如果需要写入固定值,那么就得把两表对应的字段写出来 insert into A (A.field1, A.field2, A.field3, A.field4) values (select ...

如何将数据库中一张表的全部内容复制到数据库中另一张表中
1、首先,打开并连接Sql Server,在源数据库Source_db(源数据库名称)上右键,然后依次点击“编写表脚本为”→“CREATE到”→“新查询编辑器窗口”。2、在第1步产生的编辑器中按”crtl+a“组合键全选内容,然后右键“复制“(或按"crtl+c"键)。3、新建查询,然后右键”粘贴“(或ctrl+v);如图...

如何将Oracle一个数据库中的表中的数据导入到另一个数据库中
使用备份语句把表备份,然后在导入另一个库 建议一个dblink,然后使用创建表,然后根据dblink把数据导入即可 create table A as select * from A@dblink;

oracle数据库 怎么把一张表的10万条数据插入到另外一张有数据的表
试试这样处理:create table XX as select a1.*(需要列全字段) from a1 union all select a2.*(列全对应a1字段的a2表中的字段) from a2 仅供参考

oracle 怎么在同一个数据库里把一张表的数据插入另一张表,表结构不同...
8),c5 varchar2(20))insert into B(id,name,modi_date,c5)select cast(id as number),cast(name as varchar2(10)),to_char(modi_date,'yyyymm'),cast(null as varchar2(20))from A -- 因为表字段间数据类型不一样,所以不一样的要加上 cast( 字段 as 数据类型),否则插入失败 ...

相似回答