.SQL腳本我有,例如這個表:基於.csv文件
table1.csv
Item;Location;Oftr;OftrPost;Replen
B01;BI1_p;40;01.05.2015;2
B02;BI1_p;40;01.05.20
我想生成一個.SQL外部表腳本。這裏的樣本:
CREATE TABLE filename*
(
row* type*
row* type*
row* type*
) ORGANIZATION EXTERNAL (
TYPE ORACLE_LOADER
DEFAULT DIRECTORY dir_name*
ACCESS PARAMETERS (
RECORDS DELIMITED BY NEWLINE
SKIP 1
FIELDS TERMINATED BY delimiter*
MISSING FIELD VALUES ARE NULL
)
LOCATION(filename*)
)
reject limit unlimited;
文件名,分隔符,DIR_NAME和行會不會是一個問題(很少checboxes,readline的,path.getiflename)。問題是類型*。 基本上我會在3/4變量之間移動 - float,number,varchar,(日期如果我能做到這一點) 問題是 - 如何識別哪一列有數字或浮點數或varchar? 我的第一個想法是REGEXP,但也許有人有更好的主意。
這個請求步驟沒有太大的意義。如果其中一列的數據在所有行中都爲NULL,你會怎麼做? (意思是B01 ;; ... - 這意味着第一個值是B01,第二個是NULL,...)。此外,你可能有隻包含數字的字符串;例如,電話號碼應該作爲字符串(VARCHAR2)存儲,而不是數字。最後,如果你有像12-10-11這樣的日期,你將如何解釋?有六種不同的可能解釋,都是同樣合理的。也許如果你描述你試圖解決的更高層次的問題,我們可以考慮更好的方法。 – mathguy