Error(30,13): PLS-00323: subprogram or cursor 'XXXXX' is declared in a package spec


ORACLE 中的PLS_00320错误是包头和包体的头部参数变量名定义不一致,导致的错误,把包头和包体部分部参数名保持一致就行了。

如:包头这样定义:

  PROCEDURE proc_statistics_by_mas(
    p_up_partiton_name VARCHAR2,
    p_down_partition_name VARCHAR2,
    p_create_time DATE
  );

包体头部这样定义时,就会出现这样错误:

  PROCEDURE proc_statistics_by_mas(
    p_up_partition_name VARCHAR2,
    p_down_partition_name VARCHAR2,
    p_create_time DATE
  ) AS
BEGIN
NULL;
END;

这进ORACLE就会出现PLS_00320这样的错误。原因是:

头部定义的参数:

p_up_partiton_name VARCHAR2,

和包体中的定义不一致,如:

p_up_partition_name VARCHAR2,

。修改成一致就可以了。


你可能感兴趣的:(Oracle,PLSQL)