2011-10-28 73 views
0

我正在使用Oracle 11g的外部表方法將數據從文件加載到數據庫。Oracle 11g關於跳過數據的外部表(文件)

這些文件來自外部來源,並且是標準格式。但是,我的應用程序不需要每行的所有列(文件中的字段)。有沒有一種方法可以指定哪些列應該來源,哪些應該被忽略(例如,通過提供偏移量)。

+1

你能描述文件的格式嗎?我們是在談論一個固定寬度的文件,例如,還是一個分隔文件?你使用「偏移」這個詞意味着固定的寬度,但我不確定這是有意的。 –

+0

嗨。是的,該文件是一個固定寬度的文件,並且行結束符分隔,而外部表定義具有提到的每個字段的長度。 – Sid

回答

1

由於數據文件的寬度是固定的,因此您可以簡單地省略不感興趣的部分。不要求您的字段規格是連續的。

例如,而不是指定

(
    col1 (1:1) CHAR(1), 
    col2 (2:2) CHAR(1), 
    col3 (3:3) CHAR(1) 
) 

到行的前三個字符加載到一個單獨的列,則可以跳過第二個柱,只是裝載在第一,第三,和第四位置文件分成三個獨立的列。

(
    col1 (1:1) CHAR(1), 
    col2 (3:3) CHAR(1), 
    col3 (4:4) CHAR(1) 
) 
+0

完美,這就是我一直在尋找的。謝謝。 – Sid

+0

只需要一個。你有這個在線的例子嗎? – Sid