2016-05-31 98 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(); –