DB2 V9 1資料轉移方案二則

2021-04-17 18:02:23 字數 1752 閱讀 4988

db2 v9.1資料轉移方案二則

概述:

資料轉移指的是將乙個表中的資料儲存在別的地方。可以是臨時表、中間表、或者檔案。

資料轉移是在實際開發中應用廣泛,是不同資料庫之間資料移植的基礎工作。

資料轉移是發生在部分表或者中間查詢結果上,是一種輕量級的資料臨時儲存,與資料庫備份有著很大不同。

概要:

環境:

windows xp professional

db2 9.1

方法:

一、將查詢結果輸出到檔案

步驟:

1、從開始選單開啟db2命令列處理器(或者進入db2安裝目錄下的bin目錄),

然後執行quit命令,這樣就進入dos視窗模式了。

2、在dos視窗下鏈結資料庫(或者在第一步中先連線資料庫,然後再quite,就不需要再鏈結資料庫了),在dos視窗模式下連線後,就可以用重定向輸出》,或者增量重定向輸出》來輸出查詢結果了

3. 在dos視窗模式下執行sql查詢並重定向輸出

然後我們去c:/下面檢視,發現多了乙個dm_hyml.txt檔案,開啟後,結果正是查詢結果的輸出。

說明:

db2命令列處理器和dos命令列視窗和相似,但是兩者有著本質的不同的,db2命令列處理器是在db2環境下的。dos命令列實在os環境下的。所有,在dos視窗下,執行db2的命令前面都要加上「db2」關鍵字。

重定向輸入的僅僅是文字,可以通過sql查詢的拼裝字串來輸出可執行的sql insert等語句。

二、將查詢結果直接插入到乙個表

步驟:1、定義乙個表,用來儲存查詢的資料

create table tt

(   xh integer not null generated by default as identity,

hy_dm  varchar(6)      not null,

hy_mc  varchar(200)    not null);

2、執行插入查詢結果的sql語句

insert into tt(hy_dm, hy_mc)

(select a.hy_dm, a.hy_mc

from dm_hy a

where a.hy_dm in ('01', '065210', '065120', '010100')

order by a.hy_dm)

3、檢查目標表,看是否寫入資料:

檢視結果寫入成功。

注意:插入資料的順序與查詢結果顯示的資料是一致的,下面是對這個結論的驗證。

執行sql查詢,結果如下:

執行插入查詢結果的sql後,檢視插入的表,結果如下:

delete from tt;

insert into tt(hy_dm, hy_mc)

(select a.hy_dm, a.hy_mc

from dm_hy a

where a.hy_dm in ('01', '065210', '065120', '010100')

order by a.hy_mc);

檢視目標表的結果:

得出結論:插入順序與查詢sql輸入記錄順序一致,從中還可以發現乙個結論:如果查詢的中間表某字段為自增,則自增字段的開始數字會接著上次記錄數進行遞增,如果要每次都從1開始遞增,則需要重建中間表。

aix5 3新建db2v9 1例項

1 新建使用者組 使用root使用者登入後 smitty group 新建db2test使用者組 2 新建使用者 smitty user 新建db2test使用者,注意輸入db2test所在組為db2test和主目錄為 home db2test 修改密碼 passwd db2test 3 新建例項 ...

DB2中的資料移動(二)

db2中的資料移動 二 資料的匯入 例七 把c盤根目錄下的org.txt檔案中的資料匯入到org表中 import from c org.txt of del insert into org 匯入命令和匯出命令的格式基本上處於對應的關係,import對應export,from對應to,檔名和檔案格式...

使用DB2 V9進行非增量重定向還原(二)

表空間用來儲存表,抽象物理儲存,由乙個或多個容器組成,也就是說表空間可以分布在乙個或多個物理裝置上。有4k 8k 16k 32k的四種頁面大小的表空間。為了提高效能,可以將乙個表的索引儲存到另乙個表空間,將大物件儲存到第三個表空間,任何表的資料都迴圈儲存在表空間的所有容器中 預設的表空間有 sysc...