我在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”继续。
完全无能......以前有人这么做过吗?
答案 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;
/