如何在Oracle中導(dǎo)入額外字段作為空值

2010-08-28 10:50:52來(lái)源:西部e網(wǎng)作者:

我們將我們的Oracle數(shù)據(jù)庫(kù)移植到了新的環(huán)境中。有一些客戶表同時(shí)存在于兩個(gè)數(shù)據(jù)庫(kù)中,但是在新環(huán)境中的數(shù)據(jù)庫(kù)的那些表有一些額外的字段。你能幫助我使用導(dǎo)入/導(dǎo)出工具嗎?這樣我就可以或者導(dǎo)入新的空值,或者從原來(lái)的環(huán)境中導(dǎo)出為空值,然后再導(dǎo)入了。非常感謝。

專家回答:

這里有兩個(gè)類似的選項(xiàng)可以讓你從源數(shù)據(jù)庫(kù)中轉(zhuǎn)換數(shù)據(jù)到目標(biāo)數(shù)據(jù)庫(kù)中,同時(shí)在目標(biāo)系統(tǒng)中保存額外的字段。使用導(dǎo)出/導(dǎo)入工具不會(huì)讓你在目標(biāo)數(shù)據(jù)庫(kù)中保存那些字段。你可以使用帶有導(dǎo)出的查詢選項(xiàng),但是這只能允許某些行導(dǎo)出,而不能允許只有某些字段(列)導(dǎo)出。

第一個(gè)選擇涉及了在源和目標(biāo)數(shù)據(jù)庫(kù)之間創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)鏈接,然后使用插入命令來(lái)只插入你需要的數(shù)據(jù)行和字段。這里是例子:

INSERT INTO emp (empid, ename, email)

SELECT empid, ename, email

FROM emp@remote_db

WHERE ... ;

第二個(gè)選擇可以使用SQL*Loader。你必須以SQL*Loader可以讀取的格式從源表中讀取某些行,但是之后你還可以選擇使用SQL*Loader來(lái)插入目標(biāo)數(shù)據(jù)庫(kù),或者如果這些行已經(jīng)存在的話,就把它們附加上去。要了解更多有關(guān)SQL*Loader的信息,請(qǐng)查看《Oracle Database 10g Release 2 Utilities (10.2).》

關(guān)鍵詞:Oracle

贊助商鏈接: