问题描述
- oracle怎么把一个表的数据插入到另一个表中
-
oracle数据库中有两个表A、B,表的结构不一样。A表比B表多两个字段,然后我需要把B表的数据插入到A表中,但同时也需要插入A表中多的两个字段,请问这个SQL语句应该怎么写呀? 大神们请指教,,谢谢!
解决方案
insert into a select bb.第一个字段,...bb.最后一个字段,' ',' ' from b bb;
字段要和a表的字段对应 a表中b 表没有的字段插入空值,这个位置要和你a表位置对应不一定在我写的最后 ,视情况而定
解决方案二:
A表中有A1,A2,A3,A4,A5,A6,假设A中多余字段为A1,A2
B表中有B1,B2,B3,B4,
创建临时表C
CREATE TABLE C AS
SELECT A1,A2 FROM A
UNION ALL
SELECT B1,B2,B3,B4 FROM B
此时C表中未A1,A2,B1,B2,B3,B4
解决方案三:
一样的问题?
insert into A(字段1,字段2,多出的字段1,多出的字段2) select 字段1,字段2,'多出的字段值1','多出的字段值2' from B
时间: 2024-10-20 09:59:48