奇怪的PL / SQL错误 - PLS-00103

时间:2017-06-28 14:44:31

标签: oracle plsql

我在SQL开发人员中长时间得到一个相当奇怪的错误..我已经将我的包剥离到最基本的并且运行了一个变量声明..甚至那是一个错误..这就是我的意思执行:

create or replace package body cdbmeta.pkg_metadata_check 
is
 procedure p_metadata_check(unit_id_start in number, unit_id_end in number)
   is
    begin      
     start_date NUMBER(10);
     dbms_output.put_line('..');     
    end;
end;

我的错误消息说明:

PLS-00103:遇到以下其中一项时遇到符号“NUMBER”:: =。 (@%;符号“:=”代替“NUMBER”继续。

完全无能......以前有人这么做过吗?

1 个答案:

答案 0 :(得分:5)

您必须在“is”之后和“begin”之前定义变量,如下所示:

create or replace package body cdbmeta.pkg_metadata_check 
is
 procedure p_metadata_check(unit_id_start in number, unit_id_end in number)
   is
     start_date NUMBER(10);
    begin      
     dbms_output.put_line('..');     
    end;
end;
/

在开始之前和开始之前的过程定义中的块与您将与匿名块一样使用,如下所示:

 declare
   start_date NUMBER(10);
 begin      
   dbms_output.put_line('..');     
 end;
 /