利於DTS將關鍵資料匯入oracle資料庫

2021-08-25 20:01:38 字數 2792 閱讀 6955

一、 首先利於dts將關鍵資料匯入oracle資料庫,參照selserver2000dts轉換資料(mysql到oracle).doc

二、 由於dts遷移到oracle的表名字是小寫的,程式呼叫起來很麻煩,最好是將表改名。以下表名不一定準確,可能會超出長度限制,為了方便分辨才這麼寫的。

alter table cdb_members rename to uc_members_bbs;

alter table uc_members rename to uc_members_caimincun;

alter table dnt_users rename to uc_members_caiyou;

insert into uc_members select * from uc_members_bbs;--將uc_members_bbs表的資料插入到uc_members表裡

create table uc_members_caimincun_1 as select * from t2 where 1=2;--建立和t2表結構一樣的表

insert into uc_members_caimincun_1 select t.username from uc_members_caimincun t ,uc_members b where c.username=b.username;--備份uc_members_caimincun表和uc_members表的username重複的資料。

delete from uc_members_caimincun where username in (select t.username from uc_members_caimincun t ,uc_members b where c.username=b.username)--刪除uc_members_caimincun表和uc_members表的username重複的資料。

insert into uc_members select * from uc_members_caimincun;--將uc_members_caimincun表的資料插入到uc_members表中;

create table uc_members_caiyou _1 as select * from uc_members_caiyou;--將uc_members_caiyou表備份

create table uc_members_caiyou _2 as select * from uc_members_caiyou where 1=2;--建立和uc_members_caiyou結構相同的表

insert into uc_members_caiyou _2 select t.username from uc_members_caiyou t ,uc_members b where c.username=b.username 將重複資料備份

delete from uc_members_caiyou where username in (select t.username from uc_members_caiyou t ,uc_members b where c.username=b.username)--刪除uc_members_caiyou表和uc_members表的username重複的資料。

insert into uc_members select * from uc_members_caiyou;--將uc_members_caiyou表的資料插入到uc_members表中;

以上是所有username不重重複的資料,還有一些username重複但是email不重複的很可能不是同乙個使用者,需要把這些使用者的資訊處理之後匯入到uc_members表中。

delete from uc_members_caimincun _1 where username in(select t.username from uc_members_caimincun _1 t,uc_members tt where t.username=tt.username and t.email=tt.email)刪除uc_members_caimincun _1表中username和email都和uc_members相同的資料

delete from uc_members_caiyou _2 where username in(select t.username from uc_members_caiyou _2 t,uc_members tt where t.username=tt.username and t.email=tt.email)刪除uc_members_caiyou _2表中username和email都和uc_members相同的資料

delete from uc_members_caiyou_2 where username in(select t.username from uc_members_caiyou_2 t, uc_members_caimincun_1 tt where t.username=tt.username and t.email=tt.email)刪除uc_members_caiyou_2表與uc_members_caimincun_1表username和email都相同的資料

insert into uc_members_caimincun_1 select * from uc_members_caiyou_2;將uc_members_caiyou_2中的資料插入到uc_members_caimincun_1中

update t2_1 set username=username||1;將uc_members_caimincun _1表中的username+1

insert into uc_members select * from uc_members_caimincun _1;將uc_members_caimincun _1表中的資料插入到uc_members中。

這樣使用者整合操作完成。

T SQL資料匯入 1 DTS語句

sqlserver查詢分析器中讀取excel的辦法 select from openrowset microsoft.jet.oledb.4.0 excel 8.0 hdr no database excel path sheetname 例如 select f1,f2,f3 from openro...

使用DTS匯入Excel表中的資料

近日,工作關係涉及將excel表中的資料匯入sql server資料庫中,先將自己在過程中的心得總結如下 1 使用sql server 自帶的匯入匯出功能非常不方便,校驗很強,容易造成匯入失敗。建議使用dts 工具,沒有那麼強的校驗,操作與自帶的匯入匯出基本一樣,很好用。2 在匯入之前盡量去掉各種約...

使用DTS匯入Excel表中的資料

近日,工作關係涉及將excel表中的資料匯入sql server資料庫中,先將自己在過程中的心得總結如下 1 使用sql server 自帶的匯入匯出功能非常不方便,校驗很強,容易造成匯入失敗。建議使用dts 工具,沒有那麼強的校驗,操作與自帶的匯入匯出基本一樣,很好用。2 在匯入之前盡量去掉各種約...