首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Oracle错误PLS-00323:子程序或游标在程序包规范中声明,必须在程序包体中定义

Oracle错误PLS-00323:子程序或游标在程序包规范中声明,必须在程序包体中定义
EN

Stack Overflow用户
提问于 2014-10-23 17:35:48
回答 3查看 86.5K关注 0票数 25

有人能帮我把我的pl/sql过程放到一个包里吗?我试过了,现在还在苦苦挣扎:

这是我的包规格说明:

代码语言:javascript
运行
复制
CREATE OR REPLACE PACKAGE film_pkg
IS
title VARCHAR2(100);
PROCEDURE get_films(fname VARCHAR2);
END film_pkg;

--

这是我遇到问题的包体:

代码语言:javascript
运行
复制
  CREATE OR REPLACE PACKAGE BODY film_pkg
IS
   PROCEDURE get_films (fname    IN     film.title%TYPE,
                        r_date      OUT film.release_date%TYPE,
                        dur         OUT film.duration%TYPE)
   AS
   BEGIN
      SELECT release_date, duration
        INTO r_date, dur
        FROM FILM
       WHERE title = fname;
   EXCEPTION
      WHEN NO_DATA_FOUND
      THEN
         r_date := '';
         dur := '';
   END get_films;
END film_pkg;

如果有人能帮我修复这些错误,我将不胜感激:

代码语言:javascript
运行
复制
Error(4,11): PLS-00323: subprogram or cursor 'GET_FILMS' is declared in a package specification and must be defined in the package body
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-10-23 17:40:03

您的标头和主体过程定义不匹配

在标题中,您有:

代码语言:javascript
运行
复制
PROCEDURE get_films(fname VARCHAR2);

而在正文中:

代码语言:javascript
运行
复制
PROCEDURE get_films(fname IN film.title%type, 
   r_date OUT film.release_date%type, dur OUT film.duration%type)

您可能只需要使用两个额外的OUT参数来更新头部定义?

用于汇总的

  • 确保头部定义与主体实现的所有参数(参数的数量、参数的名称、参数的顺序和参数类型)相匹配。根据
  • 的注释,请勿将自定义类型(film.title%type)与基本类型(VARCHAR2)混合匹配。二选一。
票数 46
EN

Stack Overflow用户

发布于 2017-07-05 19:14:02

“子程序或游标'M115_EDIT‘在程序包规范中声明,必须在程序包体中定义”

我在处理project.the时遇到了这个错误,原因是主体中定义的过程中的参数名称与主体中相应的参数名称不匹配。

my specification:

my body

由于这种差异,我的market_code参数在主体中与定义为sub_market_code.error的规范相比有所不同。我将规范中的sub_market_code参数更改为market_code,以便它与主体匹配,这解决了上面提到的问题。

显然,在过程'r_date‘和'dur’的主体实现中提到的两个参数没有在specification.error中定义,这是由于主体和规范之间的差异。

票数 0
EN

Stack Overflow用户

发布于 2018-09-22 16:42:10

“正文中定义的过程中的参数名与正文中相应的参数名不匹配。”

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26525204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档