2014-05-23 42 views
0

我想知道創建日誌文件的方式,該文件將包含被拒絕的記錄及其背後的原因。使用外部表格加載數據並創建帶有原因的被拒絕記錄的日誌文件

假設例如

**EMPLOYEE_ID,FIRST_NAME,LAST_NAME,SALARY,MANAGER_ID** 

100,Steven,King,24000,NULL 

101,Neena,Kochhar,35000,100 

我想拒絕那些reocrds其中一個employee salary is greater than his/her manager's。因此用employee_id 101記錄將被拒​​絕。
如何創建將包含像

101,Neena,Kochhar,Salary can't be greater than manager's,100 

請指導我..我已經創造了必要的數據加載到外部表腳本信息的日誌文件..

回答

1

一種方法來創建日誌文件是使用UTL_FILE包打開日誌文件,寫任何你想要的,然後關閉日誌文件。例如:

CREATE PROCEDURE PROCESS_RECORDS IS 
    fErr_log UTL_FILE.FILE_TYPE; 
BEGIN 
    fErr_log := UTL_FILE.FOPEN(SOME_DIRECTORY_OBJECT, 'your_filename_here.log', 'w'); 

    FOR eachRecord IN (SELECT * FROM SOME_TABLE) 
    LOOP 
    IF eachRecord.SOME_FIELD NOT IN ('LIST', 'OF', 'VALID', 'VALUES') THEN 
     -- Write error log entry 

     UTL_FILE.PUT_LINE(fErr_log, 
         eachRecord.KEY || ',' || 
         eachRecord.FIRSTNAME || ',' || 
         eachRecord.LASTNAME || ',' || 
         'SOME_FIELD not in list of valid values'); 
    END IF; 
    END LOOP; 

    UTL_FILE.FCLOSE(fErr_log); 
END PROCESS_RECORDS; 

分享和享受。

+0

謝謝。我會嘗試一下併發布我的結果 – redsoxlost

相關問題