2014-03-03 27 views
0

如何從我的文本文件創建外部表並使用它更新到實際表,而不是創建(正常)臨時表並使用SQL * Loader。如何將更新添加到現有的SQL Loader控制文件?

sample.ctl

load data 
infile 'data.txt' 
append into table newtable 
fields terminated by '|' 
TRAILING NULLCOLS 
(ACCOUNTNBR) 

data.txt中

一些生DATAS ..

54545554 
54542145 
65656566 
58787788 
+1

不要重複這個問題,[改進現有的](http://stackoverflow.com/help/no-one-answers)。您是否查看了[以前鏈接的文檔](http://docs.oracle.com/cd/E11882_01/server.112/e22490/et_concepts.htm#SUTIL011)?你有什麼嘗試? –

回答

0
  1. 文件,info.dat,與上述確定的數據創建的。

  2. 設置一個默認目錄(其中包含數據源),並授予訪問它(需要CREATE ANY DIRECTORY權限):

    創建目錄ext_tab_dir AS '在/ usr /應用程序/數據文件';

    GRANT READ ON DIRECTORY ext_tab_dir TO SCHEMA_OWNER;

  3. 創建外部表命名newtable_load:從外部表newtable_load

    CREATE TABLE newtable_load 
    (ACCOUNTNBR NUMBER 
    ) 
        ORGANIZATION EXTERNAL 
        (TYPE ORACLE_LOADER 
        DEFAULT DIRECTORY default_directory 
        ACCESS PARAMETERS 
        (RECORDS DELIMITED BY NEWLINE 
        FIELDS (ACCOUNTNBR NUMBER) 
        ) 
        LOCATION ('info.dat') 
    ); 
    
  4. 將數據裝載到表newtable中:

INSERT INTO newtable的(ACCOUNTNBR) (SELECT ACCOUNTNBR FROM newtable_load);

相關問題