Category Archives: PLS Database Error Messages

PLS-00253: Formal parameter string missing in the parameters clause

oracle

PLS-00253: Formal parameter string missing in the parameters clause
Cause: The parameter clause does not have a matching parameter for a parameter specified in the formal parameter list.
Action: Provide a matching parameter in parameters clause for every formal parameter.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-00252: reference to the wrong copy of package STANDARD

oracle

PLS-00252: reference to the wrong copy of package STANDARD
Cause: A reference is made to the fixed package version of STANDARD when the database is open, or to the on-disk version when the database is closed. Explicit use of a SYS.X$ package name can lead to this. One might also see this from a compilation that begins while the database is closed but has the bad luck to have another session open the database before compilation is complete. Another possible cause is having SET SERVEROUTPUT ON through SVRMGRL when doing an ALTER DATABASE CLOSE.
Action: Make use of on-disk versions of packages when the database is open and fixed (preloaded) versions when the database is closed. Do not attempt to use the wrong set. It should be quite hard to reference the wrong set, except by using SYS.X$ package names explicitly. Also, be sure to SET SERVEROUTPUT OFF before doing an ALTER DATABASE CLOSE.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-00251: RETURN, for actual function return, must be last in the parameters clause

oracle

PLS-00251: RETURN, for actual function return, must be last in the parameters clause
Cause: RETURN specification for the actual function return, used within the parameters clause must hold the very last position. Example: The following will give this error since the RETURN specification for the actual function return in the parameters clause is not the last. 

FUNCTION myexternalfunc (var1 BINARY_INTEGER, 

var2 BINARY_INTEGER) 

RETURN BINARY_INTEGER IS EXTERNAL 

NAME "myexternalfunc" 

LIBRARY somelib 

PARAMETERS (var1 LONG, var2 SHORT, RETURN INT, 

RETURN INDICATOR SHORT); 

The correct syntax is the following. Note that RETURN for actual function return is the last specification in the parameters clause.

FUNCTION myexternalfunc (var1 BINARY_INTEGER, 

var2 BINARY_INTEGER) 

RETURN BINARY_INTEGER IS EXTERNAL 

NAME "myexternalfunc" 

LIBRARY somelib 

PARAMETERS (var1 LONG, var2 SHORT, 

RETURN INDICATOR SHORT, RETURN INT);
Action: Correct the syntax of the RETURN specification in the parameters clause.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-00250: Incorrect Usage of string in parameters clause

oracle

PLS-00250: Incorrect Usage of string in parameters clause
Cause: The usage of Keywords such as MAXLEN, LENGTH, CHARSETID, CHARSETFORM RETURN in the parameters clause was incorrect
Action: This error occurs if keywords like MAXLEN, LENGTH, TDO, DURATION, CHARSETID, or CHARSETFORM cannot be used with PL/SQL formal parameters or the mode of the formal parameter. For example, MAXLEN can only be declared for a CHAR or VARCHAR2 PL/SQL variable and its use is allowed only for OUT or INOUT PL/SQL variables. Also, RETURN was specified in the parameters clause for a PL/SQL PROCEDURE. For example: 

CREATE PROCEDURE proc IS EXTERNAL NAME ... LIBRARY ... PARAMETERS(RETURN INDICATOR SHORT, RETURN);

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-00249: Invalid WITH CONTEXT Syntax

oracle

PLS-00249: Invalid WITH CONTEXT Syntax
Cause: CONTEXT was used in a WITH CONTEXT or a PARAMETERS clause. This is invalid.
Action: Check if WITH CONTEXT is used without specifying CONTEXT in the PARAMETERS clause or vice versa. The PARAMETERS clause must be complete. Thus if WITH CONTEXT is specified, then CONTEXT must be referenced in the PARAMETERS clause (if there is one).

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-00248: Invalid Library Syntax

oracle

PLS-00248: Invalid Library Syntax
Cause: The LIBRARY syntax was entered incorrectly.
Action: Correct the LIBRARY syntax and recompile.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-00247: LIBRARY name must be specified

oracle

PLS-00247: LIBRARY name must be specified
Cause: The LIBRARY name is missing from the external subprogram body.
Action: Specify the LIBRARY name in the external subprogram body.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-00246: PARAMETER STYLE is unsupported

oracle

PLS-00246: PARAMETER STYLE is unsupported
Cause: A PARAMETER STYLE clause was placed in the external subprogram body.
Action: Remove the PARAMETER STYLE clause.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-00245: Formals used in the ‘parameters’ clause must appear exactly once

oracle

PLS-00245: Formals used in the 'parameters' clause must appear exactly once
Cause: There are multiple declarations of the formal parameter in the PARAMETERS clause. PL/SQL allows only one declaration of the formal parameter in the PARAMETERS clause.
Action: Correct the PARAMETERS clause.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-00244: Multiple declarations in foreign function formal parameter list

oracle

PLS-00244: Multiple declarations in foreign function formal parameter list
Cause: There are multiple declarations of at least one the following FORMAL, INDICATOR, LENGTH, MAXLENGTH, or CONTEXT. PL/SQL allows only one declaration of the above for each formal parameter in the PARAMETERS clause.
Action: Correct the PARAMETERS clause.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/