如何将一张表中查询出来的数据复制到另一张表 oracle

大家好,小弟刚学oracle,碰到下面一个问题,诚心请教各路高手需求:我要将表gl_acc_item20100706中查询出来的数据,插入到表gl_acc_item中,同... 大家好,小弟刚学oracle,碰到下面一个问题,诚心请教各路高手
需求:我要将表gl_acc_item20100706 中查询出来的数据,插入到表gl_acc_item中,同时还要修改年度
查询语句这样写的:
select * from gl_acc_item20100706 t where t.fiscal ='2010'
and t.acc_item_code = 'ACC_ITEM5' and length( t.gl_item_code)>1
and t.gl_item_code not like '2%';
意思是,将上面语句查询出来的数据,插入到表gl_acc_item中,在插入表gl_acc_item的同时,还要将查询出来的数据年度 fiscal 修改为2009年,因为我在表gl_acc_item20100706中查询出的是2010年的数据,现在我要将这些数据修改为2009年之后,再插入表gl_acc_item中。
想用语句实现这些,当然,至于说导出到Excel中之后再导入gl_acc_item表的方法就算了
只修改查询出来的数据的年度

gl_acc_item20100706 表是gl_acc_item表的备份,gl_acc_item表里没有09年的数据,只有10年的数据,现在是想将gl_acc_item20100706表中查询出的10年的数据弄到gl_acc_item表中,且,也就是说gl_acc_item表中要有10年和09年的数据,只是年度不一样

select into语句在oracle中不适用
展开
 我来答
BaiYansong
2010-07-06 · TA获得超过764个赞
知道小有建树答主
回答量:339
采纳率:0%
帮助的人:391万
展开全部
insert into gl_acc_item select * from gl_acc_item20100706 t where t.fiscal ='2010' and t.acc_item_code = 'ACC_ITEM5' and length( t.gl_item_code)>1 and t.gl_item_code not like '2%';
要修改数据,那么就需要把*换成具体字段,并用'2009'代替fiscal字段,
比如总共有acc_item_code、fiscal、id、name等几列,就要写成:
insert into gl_acc_item select acc_item_code,'2009',id,name from gl_acc_item20100706 t where t.fiscal ='2010' and t.acc_item_code = 'ACC_ITEM5' and length( t.gl_item_code)>1 and t.gl_item_code not like '2%';
chn7576
2010-07-06 · TA获得超过1520个赞
知道小有建树答主
回答量:934
采纳率:0%
帮助的人:797万
展开全部
create table gl_acc_item as

select * from gl_acc_item20100706 t where t.fiscal ='2010'

and t.acc_item_code = 'ACC_ITEM5' and length( t.gl_item_code)>1

and t.gl_item_code not like '2%';
**********************
update gl_acc_item set fiscal='2009'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式