Re: packages and procedures

From: Tim Boemker <tim_boemker_at_zacatecas.optimum.com>
Date: 5 Oct 1994 15:05:38 GMT
Message-ID: <36ufc2$478_at_jalisco.optimum.net>


In article <36s1gf$ns0_at_access4.digex.net> dsticc_at_access4.digex.net (DSTI Crystal City Office) writes:

> ... the system keeps telling me that I've declared a procedure in the
> spec (which compiles o.k.) but have not defined it in the body.

Spec:

> CREATE OR REPLACE PACKAGE STRIPES.VALIDATION_SUITE_PACKAGE AS
>
> PROCEDURE VALIDATION_SUITE(DOC_UIC IN VARCHAR2, ...
Body:

> CREATE OR REPLACE PACKAGE BODY STRIPES.VALIDATION_SUITE_PACKAGE AS ...
>
> PROCEDURE VALIDATION_SUITE(V_DOC_UIC IN VARCHAR2, ...
In PL/SQL parameters can be passed by name, as well as by position, so the name you give a parameter in the spec must be the same as the one in the body. Oracle thinks, as far as I can tell, that you are trying to overload VALIDATION_SUITE because the names differ. (This kind of an overload, in which only the names are changed, is prohibited.) Change DOC_UIC to V_DOC_UIC, or vice versa.

For the straight dope, see "PL/SQL User's Guide & Reference, Version 2.0, pp. 6-12 and 6-19.

By the way, I think the error message leaves much to be desired.

Tim Boemker Received on Wed Oct 05 1994 - 16:05:38 CET

Original text of this message