Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PLS-00323 error in oracle

I am creating a procedure in a package. I have updated the specification of the package and then when i am updating the body of the package it shows me the following error.

[Error] PLS-00323 (314: 13): PLS-00323: subprogram or cursor 'INSERT_CUSTOMER_ADDRESS' is declared in a package specification and must be defined in the package body

N.B.: INSERT_CUSTOMER_ADDRESS is my procedure name.

like image 919
Amit Avatar asked Jul 21 '11 09:07

Amit


2 Answers

If you create a procedure in the package specification it must be created\implemented in the package body. Consider your package specification as an interface and the package body as its implementation.

like image 141
Maxim Shevtsov Avatar answered Oct 24 '22 10:10

Maxim Shevtsov


Always the declaration on the pkg spec and the pkg body should be same.

Which means the procedure / function declared in pkg spec ( includes name of the procedure / function , Parameter type ) should be exactly same.

Note : when oracle compiles the pkg for above error case, it won't give you the exact line no.

like image 24
user3773778 Avatar answered Oct 24 '22 08:10

user3773778