.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