Category Archives: PLS Database Error Messages

PLS-00203: function DECODE must be called with at least 3 non-boolean arguments

oracle

PLS-00203: function DECODE must be called with at least 3 non-boolean arguments
Cause: Less than three arguments were passed to the built-in function DECODE. Though DECODE takes a variable number of (non-Boolean) arguments, at least three arguments must be passed.
Action: Call DECODE with three or more arguments.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-00202: type ‘string’ must be declared

oracle

PLS-00202: type 'string' must be declared
Cause: An attempt was made to reference an undefined type. Either the type specifier was not declared or it is not within the scope of the reference.
Action: Check the spelling and declaration of the type specifier. Also confirm that the declaration is placed correctly in the block structure.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-00201: identifier ‘string’ must be declared

oracle

PLS-00201: identifier 'string' must be declared 
Cause: An attempt was made to reference either an undeclared variable, exception, procedure, or other item, or an item to which no privilege was granted or an item to which privilege was granted only through a role. 
Action: 

     Check your spelling and declaration of the referenced name.

     Verify that the declaration for the referenced item is placed correctly in the block structure.

     If the referenced item is indeed declared but you do not have privileges to refer to that item, for security reasons, you will be notified only that the item is not declared.

     If the referenced item is indeed declared and you believe that you have privileges to refer to that item, check the privileges; if the privileges were granted only via a role, then this is expected and documented behavior.

Stored objects (packages, procedures, functions, triggers, views) run in the security domain of the object owner with no roles enabled except PUBLIC. Again, you will be notified only that the item was not declared.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-00171: duplicate dedicated AGENT specification in subprogram expression

oracle

PLS-00171: duplicate dedicated AGENT specification in subprogram expression 
Cause: The subprogram was found to have two dedicated AGENT specifications. 
Action: Remove one of the dedicated AGENT specifications. 

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-00170: the SQL statement in an OPEN statement or FOR loop must be a SELECT

oracle

PLS-00170: the SQL statement in an OPEN statement or FOR loop must be a SELECT
Cause: An OPEN cursor statement or cursor FOR loop can only invoke a SELECT statement, not an UPDATE, INSERT, or DELETE.
Action: Use only SELECT statements in OPEN or cursor FOR loops.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-00169: modifier ‘string’ conflicts with prior ‘string’ specification

oracle

PLS-00169: modifier 'string' conflicts with prior 'string' specification
Cause: The method or object type modifier specified conflicts with an earlier modifier. For example, a FINAL modifier cannot be combined with a NOT FINAL modifier.
Action: Remove one of the conflicting modifiers.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-00168: duplicate modifier specification ‘string’

oracle

PLS-00168: duplicate modifier specification 'string'
Cause: A method or object type modifier was specified more than once.
Action: Remove all but one occurrence of the duplicate modifier.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-00167: keyword BULK is used in a wrong context

oracle

PLS-00167: keyword BULK is used in a wrong context
Cause: Keyword BULK is used illegally. For example, BULK is used without INTO clause.
Action: Remove the BULK keyword.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-00166: bad format for date, time, or timestamp literal

oracle

PLS-00166: bad format for date, time, or timestamp literal
Cause: The contents of the date, time, or timestamp literal did not match the expected format 'yyyy-mm-dd hh24:mi:ssxfftzh:tzm'.
Action: Use a correctly-formatted datetime literal.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-00165: call statement is not supported in PL/SQL

oracle

PLS-00165: call statement is not supported in PL/SQL
Cause: A CALL statement was found in PL/SQL source.
Action: Use an ordinary PL/SQL function or procedure call.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/