Oracle 现在有A,B两张表 我想往表B中插入A中相同的时间数据
Oracle现在有A,B两张表表中都有time等其他字段(除去time其他字段都不同)两张表中time都为timestamp类型现在表A中有大量模拟时间数据,我现在想把B...
Oracle 现在有A,B两张表 表中都有time 等其他字段(除去time其他字段都不同) 两张表中time都为timestamp类型 现在表A中有大量模拟时间数据,我现在想把B中也插入和表A中一样的数据,请问如何插入。请给出详细的语句 谢谢!
展开
3个回答
展开全部
如果只插入时间的话:insert into b(time) values (select time from a);前提是其他字段允许为空,不知道是不是你想要的
更多追问追答
追问
嗯 你说的这个语句我之前试过了 但是不行 显示缺失表达式 其他字段是允许为空的,我现在很郁闷 不知道是哪里出了错 试了很多语句都不行 逻辑也很清楚 无非是从B表中取出来时间然后插入到A表中 但是总是不成功 名字什么也都没写错 郁闷!!!
追答
insert into b(time) select time from a;试试
展开全部
1.如果表结构一样
insert into a
select * from b;
2.如果表结构不一样,
insert into a(字段)
select 字段 from b
insert into a
select * from b;
2.如果表结构不一样,
insert into a(字段)
select 字段 from b
追问
这两条语句之前我也写过,但是总是提示没有足够的值,因为我之前A表中已经有5000148个时间,B表中有6069940个时间 之前两表中时间都不同 我现在的意思也可以理解为想让其中一个表中时间列和另一个表中的时间列时间相等
追答
但是总是提示没有足够的值提示这个错误,是因为目标字段与待插入字段个数不同,待插入字段少。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
按照你的说法a表有5000148个时间,B表中有6069940个时间。如果让两个表的时间列相等,那么也就是说你想用A表的时间代替B表的时间,可是数据条数不同啊,B表比A表多了100多万个,这部分怎么改?如果只改那500多万个可以考虑用merge into语句,把A、B表其他值一样的地方中,B表的time字段用A表的time字段代替,感觉你说的好像是这个意思。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询