"oracle error pls-00323: subprogram or cursor is declared in a package specification and must be defined in the package body" Code Answer

4

your header and body procedure definitions don't match

in the header, you have:

procedure get_films(fname varchar2);

whereas in the body:

procedure get_films(fname in film.title%type, 
   r_date out film.release_date%type, dur out film.duration%type)

you probably just need to update the header definition with the two additional out params?

to summarize

  • ensure the header definition matches all parameters of the body implementation (number of parameters, names of parameters, order of parameters, and the parameter types)
  • as per alex's comment, do not mix and match the custom type (film.title%type) with the base type (varchar2). choose one or the other.
By Montolide on June 15 2022

Answers related to “oracle error pls-00323: subprogram or cursor is declared in a package specification and must be defined in the package body”

Only authorized users can answer the Search term. Please sign in first, or register a free account.