2016-05-31 111 views
-1

Bellow是我的程序。Oracle Procedure編譯錯誤

create or replace procedure my_log (action in varchar2, message in varchar2) 
is 

begin 
    Insert into my_log_table (ACTION, MESSAGE, EVENT_DATE) 
    values (action, message, sysdate); 
    commit; 
end; 
/
CREATE OR REPLACE PROCEDURE "CUSTOMER_INCREMENTAL"() 
IS 
    err_num NUMBER; 
    err_msg VARCHAR2(4000); 
BEGIN 
    my_log ('Start','My message'); 
    INSERT INTO NDB_AML_CUSTOMER 
(ID, TITLE,...) 
    SELECT ID, TITLE,... 
FROM NDB_CUSTOMER_NEW 
WHERE DATE_TIME > (SELECT RUN_DATE FROM CHECK_POINT WHERE TABLE_NAME = 'NDB_CUSTOMER_NEW'); 

    UPDATE CHECK_POINT SET RUN_DATE = SYSDATE WHERE TABLE_NAME = 'NDB_CUSTOMER_NEW'; 

    COMMIT; 
    my_log ('End','My message'); 
    EXCEPTION 
    WHEN OTHERS THEN 
err_num := SQLCODE; 
err_msg := SQLERRM; 
my_log ('Error' , errnum ||' - ' || err_msg); 
END; 
/

當我編譯它給出了錯誤PLS-00103:出現符號「)」在需要下列之一時:當前刪除之前存在。有什麼建議麼?

回答

0

如果函數或過程沒有參數,則不需要()

+0

沒有括號它編譯,但在執行期間告訴客戶增量必須聲明 –

+0

@DeEDEe顯示如何調用過程 – hinotf

+0

執行Customer Incremental(); –