Oracle中把一個查詢結果插入到一張表中

shilei1發表於2015-03-11
一、Oracle資料庫中,把一張表的查詢結果直接生成並匯入一張新表中。 


例如:現有隻有A表,查詢A表,並且把結果匯入B表中。使用如下SQL語句: 


create table b as select * from a 


二、Oracle資料庫中支援把查詢結果匯入到另外一張表中。 


例如:有兩個表A和B 


1)如果兩個表的表結構是否相同,但要插入的欄位型別相同: 


(1)把A表的全部欄位資料插入到B表中: 
insert into B select * from A; 


(2)把A表中某些欄位的資料插入B表中: 
insert into B(欄位名)(select 欄位名 from A) 


2)如果不在同一個schema下請在表名前加上schema,例如有schema a和b: 


insert into b.B select * from a.A 


三、在jdbc中,還可以把一個表部分欄位插入到另一個表中。
    insert into p_person(name,age,job) select name,?,job from p_person1 where id = ?        -- 第一個?可以按照需要進行設值,而不是表示它是p_person1欄位名

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/196700/viewspace-1456082/,如需轉載,請註明出處,否則將追究法律責任。

相關文章