在oracle数据库里面,我有两个表A和B,A表中比B表多了一个Version字段,现在我想把B表中的所有记录插入到A

用sql语句,而且是批量的,有很多表和很多字段... 用sql语句,而且是批量的,有很多表和很多字段 展开
 我来答
lincunjing4
2011-07-19 · TA获得超过1210个赞
知道小有建树答主
回答量:160
采纳率:0%
帮助的人:191万
展开全部
1、如果两个表相同列的顺序都一致,Version字段在表A的最后一列,那就好办了。
alter table b add(s varchar(20) default '');
insert into a select * from b;
我也很懒,所以想出了这个方法。
2、如果Version字段在中间,其它字段的顺序都一样,可以先把Version字段Drop掉,再Add上。然后按照第一种情况处理。
3、如果都不符合就只能乖乖地写字段名称了。o(∩_∩)o
追问
好,Version字段就是在最后,擦,你太牛逼了哥
是小白啊2k
2011-07-19 · TA获得超过2566个赞
知道小有建树答主
回答量:1183
采纳率:0%
帮助的人:1164万
展开全部
用客户端工具,比如pl/sql打开B表,选中所有行,Ctrl+C,然后打开excel,Ctrl+V。再在最后一列补上version值,如果都一样可以一拖到底。。。,再选中这些数据,打开A表,选中新行,Ctrl+V搞定。
INSERT INTO A
(id,
........,
Version)
SELECT id,
.......,
'new version'
FROM B
更多追问追答
追问
这个是可行的,但是这个还能再简化一点吗,例如像sqlserver里这样:
insert into A select *,version='111' from B
追答
这个没试过,估计应该可以,你可以自己试一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
华夏日长兴
2011-07-19 · TA获得超过9592个赞
知道大有可为答主
回答量:6305
采纳率:85%
帮助的人:3734万
展开全部
楼上的回答是正确的,楼主可以把表结构及用到的表贴出来看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
坎蜜喵939
2011-07-19 · TA获得超过7.3万个赞
知道大有可为答主
回答量:3.8万
采纳率:0%
帮助的人:5231万
展开全部
补一个空字段,比如 '', null放在version位置即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式