现有TABLE1和TABLE2两个表,
TABLE1里有AA,BB,CC,DD,EE,FF列
TABLE2里有BB,CC,DD,EE,FF列
现在想把TABLE2的数据追加到TABLE1里,并且在TABLE1对应的AA里填入‘TABLE2’用来标示这些记录是来自TABLE2的,请问该如何去写
TABLE1里有AA,BB,CC,DD,EE,FF列
TABLE2里有BB,CC,DD,EE,FF列
现在想把TABLE2的数据追加到TABLE1里,并且在TABLE1对应的AA里填入‘TABLE2’用来标示这些记录是来自TABLE2的,请问该如何去写
select 'table2' ,bb,cc,dd,ee,ff from table2
(AA,BB,CC,EE,FF)
SELECT '来自TABLE2',BB,CC,DD,EE,FF
FROM TABLE2
insert into table1(AA,BB,CC,DD,EE,FF) select 'TABLE2' aa ,bb,cc,dd,ee,ff from table2;
insert into table1
(select 'table2' ,bb,cc,dd,ee,ff from table2
union all
select 'table3',bb,cc,dd,ee,ff from table3
union all
select 'table4',bb,cc,dd,ee,ff from table4)
insert /*+append*/ into table1 --加上/*+append*/是采用直接装载的方式
(select 'table2' ,bb,cc,dd,ee,ff from table2
union all
select 'table3',bb,cc,dd,ee,ff from table3
union all
select 'table4',bb,cc,dd,ee,ff from table4)
NUM1 VARCHAR2(8);
STRSQL VARCHAR2(2000);
BEGIN
FOR NUM1 IN '0001' .. '9999'
LOOP
SRTSQL :=
'INSERT INTO TABLE1 SELECT '
||NUM1
||'BB,CC,DD,EE,FF FROM TABLE'
||NUM1;
EXECUTE IMMEDIATE STRSQL;
COMMTI;
END LOOP;
END;
搞定,谢谢大家