Skip to content
Advertisement

Oracle Error PLS-00323: subprogram or cursor is declared in a package specification and must be defined in the package body

Can someone help me put my pl/sql procedure in a package? I’ve tried and I’m struggling with it:

This is what I have, for my package specification:

This is my package body where im running into the problems:

if anyone could help me fix the errors i’d appreciate it:

Advertisement

Answer

Your header and body procedure definitions don’t match

In the header, you have:

Whereas in the body:

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.
User contributions licensed under: CC BY-SA
4 People found this is helpful
Advertisement