oracle資料庫,A表匯入資料B表方法

2022-08-05 16:21:16 字數 910 閱讀 4934

a表的資料越來月龐大了,從1萬條資料到10萬條,從10萬條資料到100萬天等等,這時原來查詢a表資料的業務就顯得很吃力了。這時候會考慮到將a表的資料經過篩選在匯入b表,然後查詢b表就可以了。a表不用來查詢,這樣可以減少資料庫的負擔。

a表有好多欄位暫命名a,b,c,d,e,f,g,h,i,j,b表有5個字段a,b,c,d ,e假設我要查詢a表資料:

select a.a,a.b,max(a.c),sum(a.d) from x as a group by a.a,a.b 。將查詢到的所有資料插入b表,b表的第乙個地段使用了sequence(暫叫a_seq).那麼匯入資料的語句則為:

insert into b(a,b,c,d,e)  select a_seq.nextval,a.a,a.b,max(a.c),sum(a.d) from x as a group by a.a,a.b

沒錯,匯入語句就是insert into tablea(...) select * from tableb (其中tableb中*每個欄位要跟tablea屬性一直),如果a表要用到排序的話,如果sequence使用不當,有可能會匯入不了,假如我要這樣寫:

insert into b(a,b,c,d,e)  select a_seq.nextval,a.a,a.b,max(a.c),sum(a.d) as s from x as a group by a.a,a.b order by s 。則資料庫會報不允許使用序列的錯誤。我們必須先查詢b表資料,再在外面加一層包裝就可以正確執行了:

insert into b(a,b,c,d,e) select a_seq.nextval,m.a,m.b,m.c,m.maxt,m.s from(

select a.a,a.b,max(a.c) as maxt,sum(a.d) as s from x as a group by a.a,a.b order by s )

oracle匯入資料庫表

使用expdp和impdp時應該注重的事項 1 exp和imp是客戶端工具程式,它們既可以在客戶端使用,也可以在服務端使用。2 expdp和impdp是服務端的工具程式,他們只能在oracle服務端使用,不能在客戶端使用。3 imp只適用於exp匯出的檔案,不適用於expdp匯出檔案 impdp只適...

資料庫裡表匯入ORACLE資料庫

方法一.匯出目的選通過odbc資料來源裡定義的oracle資料庫,注意oracle裡表名都是大寫的.我一般在oracle這邊先生成好表結構,再選擇sql server源表往oracle目的表裡追加資料.資料傳輸速度比方法二慢.方法二.從sql server資料庫匯入資料到oracle資料庫可以選擇用...

Oracle匯入匯出資料庫表

匯出的資料庫與匯入的資料庫版本 表空間不同可能會導致匯入失敗 1.匯入 impdp user psword orcl directory data pump dir remap schema olderuser newuser dumpfile data.dmp full y 2.匯出 expdp ...