104 PLS-00001 to PLS-01919
- PLS-00001: string
-
- PLS-00022: out of memory
-
- PLS-00027: redeclared SQL Identifier 'string' at line number in file string
-
- PLS-00028: option 'string' not legal as EXEC ORACLE OPTION
-
- PLS-00029: ambiguous option 'string'
-
- PLS-00030: invalid label range specified
-
- PLS-00031: invalid operand 'string' for option 'string'
-
- PLS-00032: invalid option 'string'
-
- PLS-00033: missing operand for option 'string'
-
- PLS-00035: no host language specified
-
- PLS-00036: no input file name specified
-
- PLS-00037: ?? unable to log on to ORACLE with 'string'
-
- PLS-00038: ?? unable to open a cursor
-
- PLS-00039: unable to open input file 'string'
-
- PLS-00040: unable to open listing file 'string'
-
- PLS-00041: unable to open output file 'string'
-
- PLS-00042: unable to close output file 'string'
-
- PLS-00049: bad bind variable 'string'
-
Cause: The client (caller) of PL/SQL has parsed a bind variable that it has informed to be 'bad'.
- PLS-00102: parser stack overflow because nesting is too deep
-
Cause: The parser, which checks the syntax of PL/SQL statements, uses a data structure called a stack; the number of levels of nesting in the PL/SQL block exceeded the stack capacity.
- PLS-00103: string
-
Cause: This error message is from the parser. It found a token (language element) that is inappropriate in this context.
- PLS-00104: empty argument list in call of procedure 'string' must be omitted
-
Cause: In a subprogram call, the name of the subprogram was followed by an empty parameter list. For example, procedure P was called as P(). This is not allowed.
- PLS-00105: at most one forward declaration of type 'string' is permitted
-
Cause: More than one forward declaration of a type is redundant.
- PLS-00106: double quote disallowed in a quoted identifier
-
- PLS-00108: declarative units must be a single variable declaration
-
Cause: While checking a declarative unit (a top-level declare block without the BEGIN...END), PL/SQL found that there was more than one item declared or that the item was not a variable declaration. A table is a common variable declaration at the unit level. To define a TABLE, compile a DECLARE compilation unit, but only one at a time is allowed.
- PLS-00109: unknown exception name 'string' in PRAGMA EXCEPTION_INIT
-
Cause: No declaration for the exception name referenced in an EXCEPTION_INIT pragma was found within the scope of the pragma.
- PLS-00110: bind variable 'string' not allowed in this context
-
Cause: A bind variable, that is, an identifier prefixed with a colon, was found in an inappropriate context.
- PLS-00111: end-of-file in comment
-
Cause: A Comment had a comment initiator (/*), but before the
- PLS-00112: end-of-line in quoted identifier
-
Cause: A quoted identifier had a beginning quote ("), but before the ending quote (") was found, an end-of-line marker was encountered.
- PLS-00113: END identifier 'string' must match 'string' at line string, column string
-
Cause: Following the keyword END, which terminates some language constructs (such as loops, blocks, functions, and procedures), you can optionally place the name of that construct. For example, at the end of the definition of loop L you might write END L. This error occurs when the optional name does not match the name given to the language construct. It is usually caused by a misspelled identifier or by faulty block structure.
- PLS-00114: identifier 'string' too long
-
Cause: The name of a PL/SQL variable is longer than 30 characters. Legal identifiers (including quoted identifiers) have a maximum length of 30 characters. A string literal might have been mistakenly enclosed in double quotes instead of single quotes, in which case PL/SQL considers it a quoted identifier.
- PLS-00115: this PRAGMA must follow the declaration of 'string'
-
Cause: The pragma refers to a PL/SQL object that was not declared or is not within the scope of the reference. Identifiers must be declared before they are used in a pragma; forward references are not allowed.
- PLS-00116: Duplicate where-clause in table expression
-
Cause: Two or more WHERE clauses were found in a DELETE, SELECT, or UPDATE statement. The WHERE clause specifies a condition under which rows in a table are processed. The condition can contain several logical expressions connected by AND or OR, but a statement can contain only one WHERE clause.
- PLS-00117: Duplicate connect-by clause in table expression
-
Cause: Two or more CONNECT BY clauses were found in a SELECT statement. The CONNECT BY clause defines a relationship used to return rows in a hierarchical order. The relationship can contain two expressions separated by a relational operator (such as = or !=), but a statement can contain only one CONNECT BY clause.
- PLS-00118: Duplicate group-by clause in table expression
-
Cause: Two or more GROUP BY clauses were found in a SELECT statement. The GROUP BY clause lists column expressions used to form a summary row for each group of selected rows. The list can contain several column expressions separated by commas, but a statement can contain only one GROUP BY clause.
- PLS-00119: Duplicate having-clause in table expression
-
Cause: Two or more HAVING clauses were found in a SELECT statement. The HAVING clause specifies a condition under which groups of rows (formed by the GROUP BY clause) are included in the result. The condition can include several logical expressions connected by AND or OR, but a statement can contain only one HAVING clause.
- PLS-00120: inappropriate argument in OPEN statement
-
Cause: The asterisk (*) option was used in the argument list of a SQL group function other than COUNT. For example, the code might look like SELECT SUM(*) INTO emp_count FROM emp; -- should be COUNT(*) Only COUNT permits the use of the asterisk option, which returns the number of rows in a table.
- PLS-00123: program too large (string)
-
Cause: The PL/SQL compiler has exceeded one of its capacity limits. The compiler cannot proceed.
- PLS-00124: name of exception expected for first arg in exception_init pragma
-
Cause: The first argument passed to the EXCEPTION_INIT pragma was something other than an exception name. The first argument must be the name of a legally declared exception.
- PLS-00125: type name expected
-
Cause: When a constant or variable was declared, its datatype was not specified. For example, the code might look like pi CONSTANT := 3.14159; -- should be CONSTANT REAL := 3.14159 Every constant and variable must have a datatype, which specifies a storage format, constraints, and valid range of values.
- PLS-00126: selector ALL is not allowed
-
Cause: The ALL shortcut for specifying system privileges or statement options was used in a SQL statement. PL/SQL does not support the ALL shortcut.
- PLS-00127: Pragma string is not a supported pragma
-
Cause: The named pragma (compiler directive) is not among those supported by PL/SQL. The pragma name might be misspelled, or the pragma syntax might be faulty.
- PLS-00128: Illegal number of arguments for pragma string
-
Cause: The number of arguments (actual parameters) passed to the named pragma (compiler directive) is incorrect. A required argument was omitted from the argument list, or the pragma syntax is faulty (for example, a comma might be missing between two parameters).
- PLS-00129: Pragma INTERFACE only supports C as its first argument
-
Cause: The first parameter passed to pragma INTERFACE specified a host language other than C. Currently, C is the only host language supported. The parameter might be misspelled, or the pragma syntax might be faulty (for example, a comma might be missing between two parameters).
- PLS-00130: Pragma string expects 1st argument to be a procedure/function/package/cursor
-
Cause: The first argument (actual parameter) passed to the named pragma (compiler directive) was not the name of a subprogram, package, or cursor, as required. The parameter might be misspelled, or the pragma syntax might be faulty (for example, a comma might be missing between two parameters).
- PLS-00131: Pragma string expects 2nd argument to be a procedure/function
-
Cause: The second argument (actual parameter) passed to the named pragma (compiler directive) was not the name of a procedure or function, as required. The parameter cannot be a non-static method. The parameter might be misspelled or the pragma syntax might be faulty (for example, a comma might be missing between two parameters).
- PLS-00132: Pragma string does not support string
-
Cause: One of the parameters passed to this pragma was not among the list of allowed values. The parameter might be misspelled, or the pragma syntax might be faulty (for example, a comma might be missing between two parameters).
- PLS-00133: Pragma string expects 1st argument to be an identifier or string-literal
-
Cause: The first argument (actual parameter) passed to the named pragma (compiler directive) was not an identifier or string literal, as required. The parameter might be misspelled, or the pragma syntax might be faulty (for example, a comma might be missing between two parameters).
- PLS-00134: Pragma string expects 2nd argument to be an identifier or string-literal
-
Cause: The second argument (actual parameter) passed to the named pragma (compiler directive) was not an identifier or string literal, as required. The parameter might be misspelled, or the pragma syntax might be faulty (for example, a comma might be missing between two parameters).
- PLS-00135: Pragma string expects 3rd argument to be an identifier, string or numeric literal
-
Cause: The fourth argument (actual parameter) passed to the named pragma (compiler directive) was not a numeric literal, as required. The parameter might be miscoded, or the pragma syntax might be faulty (for example, a comma might be missing between two parameters).
- PLS-00138: Precision for a binary type must be one of 8, 16, or 32
-
Cause: Invalid precision was specified for a signed or unsigned binary type.
- PLS-00139: duplicate external NAME specification in subprogram expression
-
Cause: The subprogram was found to have two external NAME specifications.
- PLS-00140: duplicate external LIBRARY specification in subprogram expression
-
Cause: The subprogram was found to have two external LIBRARY specifications.
- PLS-00141: duplicate external PARAMETER STYLE specification in subprogram expression
-
Cause: The subprogram was found to have two external PARAMETER STYLE specifications.
- PLS-00142: duplicate external PARAMETER list specification in subprogram expression
-
Cause: The subprogram was found to have two external PARAMETER STYLE specifications.
- PLS-00143: duplicate external LANGUAGE specification in subprogram expression
-
Cause: The subprogram was found to have two external LANGUAGE specifications.
- PLS-00144: duplicate external CALLING STANDARD specification in subprogram expression
-
Cause: The subprogram was found to have two external CALLING STANDARD specifications.
- PLS-00145: duplicate external WITH CONTEXT specification in subprogram expression
-
Cause: The subprogram was found to have two external WITH CONTEXT specifications.
- PLS-00146: duplicate external TRUSTED/UNTRUSTED specification in subprogram expression
-
Cause: The subprogram was found to have two external TRUSTED/UNTRUSTED specifications.
- PLS-00147: LIBRARY or ASSEMBLY file specification string is empty
-
Cause: A zero-length string was found for the LIBRARY or ASSEMBLY file specification.
- PLS-00148: Only 1 pragma of this type is allowed per subprogram
-
Cause: The subprogram was found to have two PRAGMA RESTRICT_REFERENCES.
- PLS-00150: found: string but expected : INTEGER
-
Cause: This error happens in the creation of a pl/sql external type: [SIGNED | UNSIGNED] BINARY INTEGER (precision). It may be referenced only in a create type statement. Such types are non-queryable. Something other than 'INTEGER' was supplied.
- PLS-00151: Expression or Variable is an illegal type to PLS/QL: string
-
Cause: A type was used which does not belong PL/SQL. This type can only be referenced in CREATE TYPE statements, and is a non-queryable data type.
- PLS-00152: POINTER type may only reference an object type.
-
Cause: A POINTER type which does not belong to PL/SQL can only refer to an object type. This type can only be referenced in CREATE TYPE statements, and is a non-queryable data type.
- PLS-00153: A string type may only be used as an object type attribute.
-
Cause: A POINTER or [SIGNED/UNSIGNED] BINARY INTEGER can only be used as attributes of object types. These types can only be referenced in CREATE TYPE statements, and are non-queryable data types. One of these external PL/SQL types outside of an object type.
- PLS-00154: An object type may have only 1 MAP or 1 ORDER method.
-
Cause: More than one map or order function was declared. An object type can have only one map function or one order function, but not both.
- PLS-00155: Only a function may be a MAP, ORDER or CONSTRUCTOR method.
-
Cause: A procedure was declared as a MAP, ORDER or CONSTRUCTOR method. Only functions can be MAP, ORDER or CONSTRUCTOR methods.
- PLS-00156: Null constraints not supported for object attributes.
-
Cause: A null constraint was specified for an attribute in an object. This is not supported.
- PLS-00157: Only schema-level programs allow string
-
Cause: An AUTHID or DEFAULT COLLATION clause was specified for a subprogram inside a package or type. These clauses are only supported for top-level stored procedures, packages, and types.
- PLS-00160: AUTHID must specify CURRENT_USER or DEFINER
-
Cause: The only two allowed options for AUTHID are CURRENT_USER and DEFINER.
- PLS-00161: Pragma string expects 3rd argument to be an identifier or a string literal
-
Cause: The third argument (actual parameter) passed to the named pragma (compiler directive) was not an identifier or a string literal when there is a fourth argument to the pragma. The parameter might be misspelled, or the pragma syntax might be faulty (for example, a comma might be missing between two parameters).
- PLS-00162: Pragma string expects 4th argument to be a positive integer literal
-
Cause: The fourth argument (actual parameter) passed to the named pragma (compiler directive) was not a numeric literal, as required. The parameter might be misspelled, or the pragma syntax might be faulty (for example, a comma might be missing between two parameters).
- PLS-00164: cursor subqueries are not supported in this release
-
Cause: This feature is not yet implemented.
- PLS-00165: call statement is not supported in PL/SQL
-
Cause: A CALL statement was found in PL/SQL source.
- PLS-00166: bad format for date, time, timestamp or interval literal
-
Cause: The contents of the date, time, timestamp or interval literal did not match the expected format.
- PLS-00167: keyword BULK is used in a wrong context
-
Cause: keyword BULK is used illegally. For example, BULK is used without INTO clause
- PLS-00168: duplicate modifier specification 'string'
-
Cause: A method or object type modifier was specified more than once.
- 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.
- 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.
- PLS-00171: duplicate dedicated AGENT specification in subprogram expression
-
Cause: The subprogram was found to have two dedicated AGENT specifications.
- PLS-00172: string literal too long
-
Cause: The string literal was longer than 32767 bytes.
- PLS-00173: SPACE, TAB or RETURN are disallowed as alternative quote delimiters
-
Cause: SPACE, TAB or RETURN was used as alternative quote delimiter.
- PLS-00174: a static boolean expression must be used
-
Cause: The expression contained a syntax or semantic error, or it did not have a boolean type or its evaluation raised an exception.
- PLS-00176: unexpected preprocessor token '$string'
-
Cause: A preprocessor token was used inappropriately.
- PLS-00177: '$string' preprocessor directive does not end properly
-
Cause: A preprocessor directive was not ended properly.
- PLS-00178: a static character expression must be used
-
Cause: The expression contained a syntax or semantic error, or it did not have a character type or its evaluation raised an exception.
- PLS-00179: $ERROR: string
-
Cause: $ERROR directive was used. This is an expected error message.
- PLS-00180: preprocessor directives are not supported in this context
-
Cause: A preprocessor directive was used in a compilation unit for which conditional compilation is not supported.
- PLS-00181: unsupported preprocessor directive 'string'
-
Cause: An unsupported preprocessor directive was used.
- PLS-00182: Identifier cannot be an empty string
-
Cause: Identifier was declared using an empty string,
- PLS-00183: too many bind variables
-
Cause: The library unit used more bind variables than permitted. (The current limit is 65535 bind variables in one library unit.)
- PLS-00184: misplaced START WITH clause
-
Cause: A table expression specified a START WITH clause without the corresponding CONNECT BY clause.
- PLS-00185: invalid arguments for JSON call
-
Cause: A JSON function was specified with arguments that were either invalid or not supported.
- PLS-00201: identifier 'string' must be declared
-
Cause: You tried 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.
- 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.
- 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.
- PLS-00204: function or pseudo-column 'string' may be used inside a SQL statement only
-
Cause: A pseudocolumn or proscribed function was used in a procedural statement. The SQL pseudocolumns (LEVEL, ROWID, ROWNUM) can be used only in SQL statements. Likewise, certain functions such as DECODE, DUMP, and VSIZE and the SQL group functions (AVG, MIN, MAX, COUNT, SUM, STDDEV, VARIANCE) can be used only in SQL statements.
- PLS-00205: Aggregate not allowed here
-
Cause: An aggregate, that is, a parenthesized list of values such as (7788, 'SCOTT', 20), was found in an inappropriate context.
- PLS-00206: %%TYPE must be applied to a variable, column, field or attribute, not to "string"
-
Cause: The program object declared using the %TYPE datatype attribute is not of the appropriate class. It must be a variable, column, record component, subprogram formal parameter, or other object to which values can be assigned.
- PLS-00207: identifier 'string', applied to implicit cursor SQL, is not a legal cursor attribute
-
Cause: An identifier that is not a cursor attribute was applied to the identifier SQL. For example, this error occurs if the cursor attribute is misspelled.
- PLS-00208: identifier 'string' is not a legal cursor attribute
-
Cause: An identifier not declared as a cursor attribute was applied to an identifier declared as a cursor. For example, this error occurs if the cursor attribute is misspelled.
- PLS-00209: table 'string' is not in FROM clause
-
Cause: In a query, a table referenced by the select list is not named in the FROM clause.
- PLS-00210: an OTHERS clause is required in this CASE statement
-
Cause: Unless the clauses of a CASE statement mention all values of the type of the selecting expression, an OTHERS clause must be provided as the last clause of the CASE statement. It is impossible to cover all values of type INTEGER (or NUMBER), so an OTHERS clause is always required when the expression following the keyword CASE is of type INTEGER (or NUMBER).
- PLS-00211: CASE labels or ranges must not be duplicated in different WHEN clauses
-
Cause: In this CASE statement, a value appears in more than one WHEN clause. A value may appear in at most one WHEN clause of a CASE statement.
- PLS-00212: could not obtain enough memory to compile CASE statement
-
Cause: The CASE statement is too big. The compiler did not have enough storage to process it.
- PLS-00213: package STANDARD not accessible
-
Cause: The PL/SQL compiler could not find package STANDARD in the current Oracle database. To compile a program, PL/SQL needs package STANDARD.
- PLS-00214: BEGIN...END block nesting is too deep
-
Cause: The number of levels of nesting in the PL/SQL block is too large. Blocks can be nested up to 255 levels deep, depending on the availability of system resources such as memory.
- PLS-00215: String length constraints must be in range (1 .. 32767)
-
Cause: When a character variable was declared, a length outside the legal range was specified. For example, the following declarations are illegal: flag CHAR(0); -- illegal; zero length name VARCHAR2(-10); -- illegal; negative length
- PLS-00216: NUMBER precision constraint must be in range (1 .. 38)
-
Cause: A NUMBER variable was declared with a precision that is outside the legal range. Declarations such as N NUMBER(800) or N NUMBER(123,10) are not supported.
- PLS-00217: NUMBER scale constraint must be in range (-84 .. 127)
-
Cause: A NUMBER variable was declared with a scale that is outside the legal range. Declarations such as N NUMBER(10,345) or N NUMBER(10,-100) are not supported.
- PLS-00218: a variable declared NOT NULL must have an initialization assignment
-
Cause: In general, variables that have no initialization clause in their declaration are automatically initialized to NULL. This is illogical for NOT NULL variables; therefore, an initialization clause is required.
- PLS-00219: label 'string' reference is out of scope
-
Cause: A block or loop label was used to qualify a variable (as in outer_block.date) that was not declared or is not within the scope of the label. The variable name might be misspelled, its declaration might be faulty, or the declaration might be placed incorrectly in the block structure.
- PLS-00220: simple name required in this context
-
Cause: A qualified name such as A.B or A.B.C is not permitted here.
- PLS-00221: 'string' is not a procedure or is undefined
-
Cause: An identifier being referenced as a procedure was not declared or actually represents another object (for example, it might have been declared as a function).
- PLS-00222: no function with name 'string' exists in this scope
-
Cause: An identifier being referenced as a function was not declared or actually represents another object (for example, it might have been declared as a procedure).
- PLS-00223: paramaterless procedure 'string' used as function
-
Cause: An identifier being referenced as a parameterless function actually represents a procedure.
- PLS-00224: object 'string' must be of type function or array to be used this way
-
Cause: An identifier being referenced as a function or an array actually represents an object (a number or date, for example) that cannot be referenced in this way.
- PLS-00225: subprogram or cursor 'string' reference is out of scope
-
Cause: The prefix in a qualified name was a subprogram or cursor which was not in an enclosing scope; i.e., a subprogram or cursor name is being used as a scope qualifier for a reference to an entity (within that subprogram or cursor) that is not in scope. Example: declare x number; type t1 is record (a number); function f return t1 is a number; begin x := f.a; -- legal use of function "f" as a scope qualifier; -- resolves to local variable "a" in function "f". x := f().a; -- legal reference to component "a" of returned record end; begin x := f.a; -- illegal use of function "f" as a scope qualifier x := f().a; -- legal reference to component "a" of returned record end;
- PLS-00226: package 'string' used as variable reference
-
Cause: A package was referenced in an expression as if it were a variable or function. Either the name of the variable or function is misspelled or the reference is not fully qualified. For example, to call the function my_function, which is stored in package my_package, dot notation must be used, as follows: ... my_package.my_function ...
- PLS-00227: subprogram 'in' formal string is not yet denotable
-
Cause: When the formal parameters of a subprogram were declared, one parameter was used to initialize another, as in PROCEDURE my_proc (j NUMBER, k NUMBER := j) IS ... The first parameter has no value until run time, so it cannot be used to initialize another parameter.
- PLS-00228: Illegal declaration of variable of type LONG
-
Cause: An attempt was made to declare a variables to be of type LONG. Only columns can be of type LONG. CAUSE: The identifier is a formal parameter which is being used in the context of a default expression value for a formal parameter in the same formal parameter list. E.g.: procedure p(j number, k number := j).
- PLS-00229: Attribute expression within SQL expression
-
Cause: An attribute expression, such as SQL%NOTFOUND, was used in a SQL statement, but attribute expressions are allowed only in procedural statements.
- PLS-00230: OUT and IN OUT formal parameters may not have default expressions
-
Cause: When the formal parameters of a procedure were declared, an OUT or IN OUT parameter was initialized to a default value, as in PROCEDURE calc_bonus (bonus OUT REAL := 0, ...) IS ... However, only IN parameters can be initialized to default values.
- PLS-00231: function 'string' may not be used in SQL
-
Cause: A proscribed function was used in a SQL statement. Certain functions such as SQLCODE and SQLERRM can be used only in procedural statements.
- PLS-00232: nested packages not permitted
-
Cause: A package was declared inside another package, but package declarations are allowed only at the top level. In other words, packages cannot be nested.
- PLS-00233: function name used as an exception name in when clause
-
Cause: The WHEN clause in an exception handler contains a function call instead of an exception name. A valid exception handler consists of a WHEN clause, which must specify an exception, followed by a sequence of statements to be executed when that exception is raised.
- PLS-00234: PARAMETER STYLE SQL may not be specified with a PARAMATERS list
-
Cause: A subprogram cannot specify both PARAMETER STYLE SQL and an explicit PARAMETERS list. Use PARAMETER STYLE GENERAL to supply default PARAMETERS list types.
- PLS-00235: the external type is not appropriate for the parameter
-
Cause: An unsuccessful attempt was made to convert a parameter to the specified external parameter type.
- PLS-00236: Invalid external type specification for string.
-
Cause: The external type specified is not valid for one of the following: INDICATOR, LENGTH, MAXLEN, TDO, DURATION, CHARSETID, or CHARSETFORM.
- PLS-00237: invalid BY VALUE indicator or length specification
-
Cause: BY VALUE was specified with an indicator or length parameter that is being passed in OUT or IN OUT mode. Only IN mode parameters may be passed by value.
- PLS-00238: external parameter name string not found in formal parameter list
-
Cause: An external parameter name was specified that does not match one in the formal parameter list.
- PLS-00239: invalid external type specification for SQLCODE
-
Cause: An inappropriate external parameter type was specified for the SQLCODE parameter.
- PLS-00240: Invalid type specification for RETURN indicator, length, tdo, duration
-
Cause: An inappropriate external parameter type was specified for the RETURN indicator, LENGTH, TDO, or DURATION.
- PLS-00241: invalid external type specification for SQLSTATE
-
Cause: An inappropriate external parameter type was specified for the SQLSTATE parameter.
- PLS-00242: invalid external type specification for CONTEXT
-
Cause: An inappropriate external parameter type was specified for the CONTEXT parameter.
- PLS-00243: invalid external type specification for SQLNAME
-
Cause: An inappropriate external parameter type was specified for the SQLNAME parameter.
- 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.
- 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.
- PLS-00246: PARAMETER STYLE is unsupported
-
Cause: A PARAMETER STYLE clause was placed in the external subprogram body.
- PLS-00247: LIBRARY or ASSEMBLY name must be specified
-
Cause: The LIBRARY or ASSEMBLY name is missing from the external subprogram body.
- PLS-00248: Invalid Library Syntax
-
Cause: The LIBRARY syntax was entered incorrectly.
- PLS-00249: Invalid WITH CONTEXT Syntax
-
Cause: CONTEXT was used in a WITH CONTEXT or a PARAMETERS clause. This is invalid.
- 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
- 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);
- 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 db is closed but has the bad luck to have another session open the db before compilation is complete. Another possible cause is having 'set serveroutput on' through svrmgrl when doing an 'alter database close'.
- 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.
- PLS-00254: OUT and IN/OUT modes cannot be used in this context
-
Cause: actual parameter mode (OUT, or IN/OUT) is not used properly in USING clause. For USING clause in an OPEN statement, only IN mode is allowed.
- PLS-00255: CALL Specification parameters cannot have default values
-
Cause: CALL Specification formal parameters default values are disallowed.
- PLS-00256: string is not a valid external library or assembly
-
Cause: The supplied external library or assembly name in the external clause is not a valid alias library or assembly.
- PLS-00257: illegal use of EXTERNAL clause in a TYPE or PACKAGE specification
-
Cause: An EXTERNAL Clause was detected in a TYPE Specification or a PACKAGE specification.
- PLS-00258: constrained datatypes disallowed in CALL Specifications
-
Cause: A call specification for C or Java cannot have constraints on the PL/SQL formal parameter types. PL/SQL types which have have constraints are NATURAL, NATURALN, POSITIVE, POSITIVEN, SIGNTYPE, INTEGER, INT, SMALLINT, DECIMAL, NUMERIC, DEC This includes NOT NULL constraints from POSITIVEN, NATURALN
- PLS-00259: rights model (AUTHID) must be specified
-
Cause: It is mandatory to specify the rights model if a PL/SQL PROCEDURE, FUNCTION, PACKAGE OR TYPE HAS CALL-Specifications
- PLS-00260: Datetime/Interval constraints must be in range (0 .. 9)
-
Cause: A Datetime/Interval variable or attribute was declared with a constraint outside the legal range.
- PLS-00261: Java CALL Specification not yet allowed as a method in an object type
-
Cause: A call specification declaring that an implementation is in Java has been found for a method of an object or opaque type. This usage is not yet supported.
- PLS-00262: incorrect placement of string clause
-
Cause: An ACCESSIBLE BY clause was specified in the wrong place. This clause may be specified on top-level stored procedures, packages, and types, and also on subprograms which are directly contained in a package. This clause may not be specified on methods.
- PLS-00263: mismatch between string on a subprogram specification and body
-
Cause: An ACCESSIBLE BY clause was specified in a package body for an item which did not have an equivalent clause in the package specification. In a package body, this clause can only be specified on externally visible subprograms, and the subprogram specification and body must have equivalent clauses. This clause cannot be specified on package-local or nested subprograms.
- PLS-00301: Invalid GOTO to non-label 'string'
-
Cause: A GOTO was attempted to something which is not a label (for example, a variable).
- PLS-00302: component 'string' must be declared
-
Cause: In a reference to a component (for example, in the name "A.B", "B" is a component of "A"), the component has not been declared. The component might be misspelled, its declaration might be faulty, or the declaration might be placed incorrectly in the block structure.
- PLS-00303: qualifier 'string' must be declared
-
Cause: In a name such as "A.B", "A" is the qualifier, and "B" is a component of the qualifier. This error occurs when no declaration for the qualifier is found.The qualifier might be misspelled, its declaration might be faulty, or the declaration might be placed incorrectly in the block structure.
- PLS-00304: cannot compile body of 'string' without its specification
-
Cause: The compiled package specification required to compile a package body could not be found. Some possible causes follow: --the package name is misspelled --the package specification was never compiled --the compiled package specification is not accessible The package specification must be compiled before compiling the package body, and the compiler must have access to the compiled specification.
- PLS-00305: previous use of 'string' (at line string) conflicts with this use
-
Cause: While looking for prior declarations of a cursor, procedure, function, or package, the compiler found another object with the same name in the same scope. Or, the headers of subprogram in a package specification and body do not match word for word.
- PLS-00306: wrong number or types of arguments in call to 'string'
-
Cause: This error occurs when the named subprogram call cannot be matched to any declaration for that subprogram name. The subprogram name might be misspelled, a parameter might have the wrong datatype, the declaration might be faulty, or the declaration might be placed incorrectly in the block structure. For example, this error occurs if the built-in square root function SQRT is called with a misspelled name or with a parameter of the wrong datatype.
- PLS-00307: too many declarations of 'string' match this call
-
Cause: The declaration of a subprogram or cursor name is ambiguous because there was no exact match between the declaration and the call and more than one declaration matched the call when implicit conversions of the parameter datatypes were used. The subprogram or cursor name might be misspelled, its declaration might be faulty, or the declaration might be placed incorrectly in the block structure.
- PLS-00308: this construct is not allowed as the origin of an assignment
-
Cause: The construct or expression does not designate a value that can be assigned to a variable. For example, the datatype name NUMBER cannot appear on the right hand side of an assignment statement as in X := NUMBER.
- PLS-00309: with %%LAST attribute, 'string' must be a variable of an enumerated type
-
Cause: The "%LAST" attribute must be applied to an identifier that has been declared as a variable of an enumerated type (or subtype of an enumerated type). This error occurs when "%LAST" follows some identifier that has not been so declared.
- PLS-00310: with %%ROWTYPE attribute, 'string' must name a table, cursor or cursor-variable
-
Cause: The %ROWTYPE attribute must be applied to an identifier declared as a cursor, cursor variable, or database table. This error occurs when %ROWTYPE follows some identifier that has not been so declared.
- PLS-00311: the declaration of "string" is incomplete or malformed
-
Cause: This occurrence of the identifier cannot be compiled because its type has not been properly defined.
- PLS-00312: a positional parameter association may not follow a named association
-
Cause: When a list of parameters is passed to a subprogram or cursor, if both positional and named associations are used, all positional associations must be placed in their declared order and before all named associations, which can be in any order.
- PLS-00313: 'string' not declared in this scope
-
Cause: There is no declaration for the given identifier within the scope of reference. The identifier might be misspelled, its declaration might be faulty, or the declaration might be placed incorrectly in the block structure.
- PLS-00314: TABLE declarations are not allowed as PL/SQL local variables
-
Cause: In a precompiled program, the DECLARE TABLE statement was mistakenly used inside an embedded PL/SQL block. If an embedded PL/SQL block refers to a database table that does not yet exist, use the DECLARE TABLE statement to tell the precompiler what the table will look like. However, DECLARE TABLE statements are allowed only in the host program.
- PLS-00315: Implementation restriction: unsupported table index type
-
Cause: In the INDEX BY clause of a PL/SQL table declaration, a datatype other than BINARY_INTEGER, PLS_INTEGER, or VARCHAR2 was specified. PL/SQL tables can have one column and a primary key. The column can have any scalar type, but the primary key must be either a binary integer type or VARCHAR2.
- PLS-00316: PL/SQL TABLEs must use a single index
-
Cause: In the INDEX BY clause of a PL/SQL table declaration, a composite primary key was specified. PL/SQL tables must have a simple, unnamed primary key of a binary integer or VARCHAR2 type.
- PLS-00317: incomplete type "string" was not completed in its declarative region
-
Cause: An incomplete type declaration was not completed in the declarative region where it was declared.
- PLS-00318: type "string" is malformed because it is a non-REF mutually recursive type
-
Cause: A type-declaration such as: -- a non-REF recursive type, for example: type t is record (a t); or -- non-REF mutually dependent types, for example: type t1; type t2 is record (a t1); type t1 is record (a t2); was performed. In these examples, the type is malformed because it participates in a mutually recursive non-REF relationship with itself and possibly other types.
- PLS-00319: subquery in an IN or NOT IN clause must contain exactly one column
-
Cause: An invalid expression such as X IN (SELECT A,B ...) was used. When a [NOT]IN clause is used with a subquery, it does not test for set membership. The number of expressions in the [NOT]IN clause and the subquery select list must match. So, in the example above, the subquery must specify at most one column.
- PLS-00320: the declaration of the type of this expression is incomplete or malformed
-
Cause: In a declaration, the name of a variable or cursor is misspelled or the declaration makes a forward reference. Forward references are not allowed in PL/SQL. A variable or cursor must be declared before it is referenced it in other statements, including other declarative statements. For example, the following declaration of dept_rec raises this exception because it refers to a cursor not yet declared: DECLARE dept_rec dept_cur%ROWTYPE; CURSOR dept_cur IS SELECT ... ...
- PLS-00321: expression 'string' is inappropriate as the left hand side of an assignment statement
-
Cause: The expression does not designate a variable that can have a value assigned to it. For example, the function SYSDATE cannot appear on the left hand side of an assignment statement such as SYSDATE := '01-JAN-1990';
- PLS-00322: declaration of a constant 'string' must contain an initialization assignment
-
Cause: A constant declaration lacks the assignment of an initial value. For example, in the following declaration" := 3.14159" is the initialization clause: "pi constant number := 3.14159;"
- PLS-00323: subprogram or cursor 'string' is declared in a package specification and must be defined in the package body
-
Cause: A subprogram specification was placed in a package specification, but the corresponding subprogram body was not placed in the package body. The package body implements the package specification. So, the package body must contain the definition of every subprogram declared in the package specification.
- PLS-00324: cursor attribute may not be applied to non-cursor 'string'
-
Cause: This error occurs when a cursor-attribute ("%FOUND", "%NOTFOUND", "%ROWS", "%IS_OPEN", etc.) appears following an identifier that is not declared as a cursor or cursor variable. It occurs, for example, if the variable name my_cur in my_cur%FOUND was not properly declared as a cursor or if the variable declaration was placed incorrectly in the block structure.
- PLS-00325: non-integral numeric literal string is inappropriate in this context
-
Cause: A non-integral numeric literal was used in a context that requires an integer (a number with no digits to the right of its decimal point).
- PLS-00326: IN clause must contain same number of expressions as subquery
-
Cause: The number of expressions in an IN clause did not equal the number of expressions in a corresponding subquery select list. For example, the following statement is invalid because the IN clause contains two expressions, but the subquery select list contains just one: ... WHERE (ename, sal) IN (SELECT sal FROM emp);
- PLS-00327: "string" is not in SQL scope here
-
Cause: In a SQL statement, a reference was made to an out-of-scope database object. The referenced object might be misspelled, or the reference might be mixed, as in the following example: CURSOR c1 IS SELECT dept.dname FROM emp;
- PLS-00328: A subprogram body must be defined for the forward declaration of string.
-
Cause: A subprogram specification was declared, but the corresponding subprogram body was not defined. Write the subprogram specification and body as a unit. An alternative solution is to separate the specification from its body, which is necessary when you want to define mutually recursive subprograms or you want to group subprograms in a package.
- PLS-00329: schema-level type has illegal reference to string
-
Cause: An attempt was made to make a reference from a schema-level type to something other than a schema-level type.
- PLS-00330: invalid use of type name or subtype name
-
Cause: A datatype or subtype specifier was mistakenly used in place of a constant, variable, or expression. For example, the code might look like IF emp_count > number THEN ... -- illegal; NUMBER is a datatype specifier
- PLS-00331: illegal reference to string
-
Cause: You had an EITHER 1. an illegal reference to some object in user SYS. to use one of them in an illegal way OR 2. an illegal reference to a remote object type.
- PLS-00332: "string" is not a valid prefix for a qualified name
-
Cause: You have a malformed qualified name because the prefix is not valid.
- PLS-00333: "string" must match an object-table alias in this context
-
Cause: The name, appearing in the context of a REF or VALUE, did not resolve to an object-table alias.
- PLS-00334: "string" matches table or view without an alias
-
Cause: You have a reference to a table or view name without an alias.
- PLS-00335: a package name conflicts with an existing object
-
Cause: In a CREATE PACKAGE statement, a package (which is a database object that groups logically related PL/SQL types, objects, and subprograms) was given the same name as an existing database object.
- PLS-00336: non-object-table "string" illegal in this context
-
Cause: You have a REF or VALUE modifier for a non-object-table
- PLS-00337: "string" matches too many object table aliases
-
Cause: You have an ambiguous reference to an object-table alias; there are at least two object-table aliases in the same scope.
- PLS-00338: unable to resolve "string" as a column or row expression
-
Cause: You have a reference to a name that could not be resolved as a column or row expression. This occurred in an update or insert statement involving an object-table.
- PLS-00339: "string" matches object-table without a REF or VALUE modifier
-
Cause: You have an object-table name appearing without a REF or VALUE modifier.
- PLS-00341: declaration of cursor 'string' is incomplete or malformed
-
Cause: A cursor declaration is improper or an identifier referenced in the cursor declaration was not properly declared. A return type that does not refer to an existing database table or a previously declared cursor or cursor variable might have been specified. For example, the following cursor declaration is illegal because c1 is not yet fully defined: CURSOR c1 RETURN c1%ROWTYPE IS SELECT ... -- illegal In this case, a return type does not have to be specified because it is implicit.
- PLS-00351: Not logged onto database 'string'
-
Cause: An attempt was made to access an Oracle database without being logged on. Probably, an invalid username or password was entered.
- PLS-00352: Unable to access another database 'string'
-
Cause: An attempt was made to reference an object in a database other than the current local or remote Oracle database.
- PLS-00353: 'string' must name a user in the database
-
Cause: This error occurs when the username was misspelled or when the user does not exist in the database.
- PLS-00354: username must be a simple identifier
-
Cause: A qualified username such as scott.accts is not permitted in this context.
- PLS-00355: use of pl/sql table not allowed in this context
-
Cause: A PL/SQL table was referenced in the wrong context (for example, with a remote link).
- PLS-00356: 'string' must name a table to which the user has access
-
Cause: The named table is not accessible to the user. This error occurs when the table name or username was misspelled, the table and/or user does not exist in the database, the user was not granted the necessary privileges, or the table name duplicates the name of a local variable or loop counter.
- PLS-00357: Table,View Or Sequence reference 'string' not allowed in this context
-
Cause: A reference to database table, view, or sequence was found in an inappropriate context. Such references can appear only in SQL statements or (excluding sequences) in %TYPE and %ROWTYPE declarations. Some valid examples follow: SELECT ename, emp.deptno, dname INTO my_ename, my_deptno, my_dept .FROM emp, dept WHERE emp.deptno = dept.deptno; DECLARE last_name emp.ename%TYPE; dept_rec dept%ROWTYPE;
- PLS-00358: column 'string' exists in more than one table; use qualifier
-
Cause: The statement is ambiguous because it specifies two or more tables having the same column name. For example, the following statement is ambiguous because deptno is a column in both tables: SELECT deptno, loc INTO my_deptno, my_loc FROM emp, dept;
- PLS-00359: assignment target in 'string' must have components
-
Cause: An assignment target was declared that lacks the components needed to store the assigned values. For example, this error occurs if you try to assign a row of column values to a variable instead of a record, as follows: DECLARE dept_rec dept%ROWTYPE; my_deptno dept.deptno%TYPE; ... BEGIN SELECT deptno, dname, loc INTO my_deptno -- invalid FROM dept WHERE ...
- PLS-00360: cursor declaration without body needs return type
-
Cause: A cursor declaration lacks either a body (SELECT statement) or a return type. If you want to separate a cursor specification from its body, a return type must be supplied, as in CURSOR c1 RETURN emp%ROWTYPE;
- PLS-00361: IN cursor 'string' cannot be OPEN'ed
-
Cause: A cursor parameter with mode IN cannot be modified, and therefore cannot be opened.
- PLS-00362: invalid cursor return type; 'string' must be a record type
-
Cause: In a cursor specification or REF CURSOR type definition, a non- record type such as NUMBER or TABLE was specified as the return type. This is not allowed. Only the following return types are allowed: <record_type_name> <record_name>%TYPE <table_name>%ROWTYPE <cursor_name>%ROWTYPE <cursor_variable_name>%ROWTYTPE
- PLS-00363: expression 'string' cannot be used as an assignment target
-
Cause: A literal, constant, IN parameter, loop counter, or function call was mistakenly used as the target of an assignment. For example, the following statement is illegal because the assignment target, 30, is a literal: SELECT deptno INTO 30 FROM dept WHERE ... -- illegal
- PLS-00364: loop index variable 'string' use is invalid
-
Cause: An attempt was made to assign the value of an OUT parameter to
- PLS-00366: subtype of a NOT NULL type must also be NOT NULL
-
Cause: After a subtype was defined as NOT NULL, it was used as the base type for another subtype defined as NULL. That is not allowed. For example, the code might look like DECLARE SUBTYPE Weekday IS INTEGER NOT NULL; SUBTYPE Weekend IS Weekday NULL; -- illegal instead of DECLARE SUBTYPE Weekday IS INTEGER NOT NULL; SUBTYPE Weekend IS Weekday;
- PLS-00367: a RAISE statement with no exception name must be inside an exception handler
-
Cause: A RAISE statement not followed by an exception name was found outside an exception handler
- PLS-00368: in RAISE statement, 'string' must be an exception name
-
Cause: The identifier in a RAISE statement is not a valid exception name.
- PLS-00369: no choices may appear with choice OTHERS in an exception handler
-
Cause: A construct of the form WHEN excep1 OR OTHERS => was encountered in the definition of an exception handler. The OTHERS handler must appear by itself as the last exception handler in a block.
- PLS-00370: OTHERS handler must be last among the exception handlers of a block
-
Cause: One or more exception handlers appear after an OTHERS handler. However, the OTHERS handler must be the last handler in a block or subprogram because it acts as the handler for all exceptions not named specifically.
- PLS-00371: at most one declaration for 'string' is permitted
-
Cause: A reference to an identifier was ambiguous because there were multiple declarations for the identifier. At most one local variable with a given identifier is permitted in the declarative part of a block, procedure, or function. At most one label with a given identifier may appear in a block.
- PLS-00372: In a procedure, RETURN statement cannot contain an expression
-
Cause: In a procedure, a RETURN statement contains an expression, which is not allowed. In functions, a RETURN statement must contain an expression because its value is assigned to the function identifier. However, in procedures, a RETURN statement simply lets you exit before the normal end of the procedure is reached.
- PLS-00373: EXIT/CONTINUE label 'string' must label a LOOP statement
-
Cause: The label in the EXIT or CONTINUE statement did not refer to a LOOP statement. An EXIT or CONTINUE statement need not specify a label. However, if a label is specified (as in EXIT my_label or CONTINUE my_label), it must refer to a LOOP statement.
- PLS-00374: illegal EXIT/CONTINUE statement; must appear inside the loop labeled 'string'
-
Cause: The label in the EXIT or CONTINUE statement did not refer to a loop statement. An EXIT or CONTINUE statement need not specify a label. However, if a label is specified (as in EXIT my_label or CONTINUE my_label), the EXIT or CONTINUE statement must be inside the LOOP statement designated by that label.
- PLS-00375: illegal GOTO statement; this GOTO cannot branch to label 'string'
-
Cause: The line and column numbers accompanying the error message refer to a GOTO that branches from outside a construct (a loop or exception handler, for example) that contains a sequence of statements to a label inside that sequence of statements. Such a branch is not allowed.
- PLS-00376: illegal EXIT/CONTINUE statement; it must appear inside a loop
-
Cause: An EXIT or CONTINUE statement was found outside of a loop construct. The EXIT statement is used to exit prematurely from a loop and the CONTINUE statement is used to begin the next iteration of a loop; each must always appear within a loop.
- PLS-00377: internal type PLS_INTEGER is not included in this release of PL/SQL
-
Cause: The type-name INTEGER was used in a declaration.
- PLS-00378: invalid compilation unit for this release of PL/SQL
-
Cause: A compilation unit is a file containing PL/SQL source code that is passed to the compiler. Only compilation units containing blocks, declarations, statements, and subprograms are allowed. This error occurs when some other language construct is passed to the compiler.
- PLS-00379: CASE statements are not included in this release of PL/SQL
-
Cause: The unit being compiled contains a CASE statement. However, the current release of PL/SQL does not support CASE statements.
- PLS-00380: functions and procedures are not included in this release of PL/SQL
-
Cause: The program being compiled contains a declaration of a FUNCTION or PROCEDURE.
- PLS-00381: type mismatch found at 'string' between column and variable in subquery or INSERT
-
Cause: The datatypes of a column and a variable do not match. The variable was encountered in a subquery or INSERT statement.
- PLS-00382: expression is of wrong type
-
Cause: An expression has the wrong datatype for the context in which it was found.
- PLS-00383: type mismatch found at 'string' inside an IN or NOT IN clause
-
Cause: In a test for set membership such as X NOT IN (SELECT Y ... ), the expressions X and Y do not match in datatype, and it is unclear which implicit conversion is required to correct the mismatch.
- PLS-00384: type mismatch found at 'string' in UPDATE's SET clause
-
Cause: The column to the left of the equal sign in the SET clause of an UPDATE statement does not match in datatype with the column, expression, or subquery to the right of the equal sign, and it is unclear which implicit conversion is required to correct the mismatch.
- PLS-00385: type mismatch found at 'string' in SELECT...INTO statement
-
Cause: The expressions to the left and right of the INTO clause in a SELECT...INTO statement do not match in datatype, and it is unclear which implicit conversion is required to correct the mismatch.
- PLS-00386: type mismatch found at 'string' between FETCH cursor and INTO variables
-
Cause: An assignment target in the INTO list of a FETCH statement does not match in datatype with the corresponding column in the select list of the cursor declaration, and it is unclear which implicit conversion is required to correct the mismatch.
- PLS-00387: INTO variable cannot be a database object
-
Cause: An item in the INTO list of a FETCH or SELECT statement was found to be a database object. INTO introduces a list of user-defined variables to which output values are assigned. Therefore, database objects cannot appear in the INTO list.
- PLS-00388: undefined column 'string' in subquery
-
Cause: A subquery contains a column name that was not defined in the specified table.
- PLS-00389: table, view or alias name "string" not allowed in this context
-
Cause: A table, view or alias name name corresponding to a regular (non-object) table appeared in an inappropriate context.
- PLS-00390: undefined column 'string' in INSERT statement
-
Cause: Check the spelling of the column name, then change the expression so that it refers only to defined columns.
- PLS-00391: undefined column 'string' in UPDATE statement
-
Cause: An UPDATE statement refers to a column not defined for the table or view being updated.
- PLS-00392: Type mismatch in arguments to BETWEEN
-
Cause: In a comparison such as X BETWEEN Y AND Z, the expressions X, Y, and Z do not match in datatype, and it is unclear which implicit conversion is required to correct the mismatch.
- PLS-00393: wrong number of columns in SELECT...INTO statement
-
Cause: The number of columns selected by a SELECT...INTO statement does not match the number of variables in the INTO clause.
- PLS-00394: wrong number of values in the INTO list of a FETCH statement
-
Cause: The number of variables in the INTO clause of a FETCH statement does not match the number of columns in the cursor declaration.
- PLS-00395: wrong number of values in VALUES clause of INSERT statement
-
Cause: The number of columns in an INSERT statement does not match the number of values in the VALUES clause. For example, the following statement is faulty because no column is specified for the value 20: INSERT INTO emp (empno, ename) VALUES (7788, 'SCOTT', 20);
- PLS-00396: INSERT statement's subquery yields wrong number of columns
-
Cause: The number of columns in an INSERT statement does not match the number of columns in a subquery select list. For example, the following statement is faulty because no corresponding column is specified for col3: INSERT INTO emp (ename, empno) SELECT col1, col2, col3 FROM ...
- PLS-00397: Type mismatch in arguments to IN
-
Cause: In a test for set membership such as X IN (Y, Z), the expressions X, Y, and Z do not match in datatype, and it is unclear which implicit conversion is required to correct the mismatch.
- PLS-00398: wrong number of columns in UNION, INTERSECT, or MINUS expression
-
Cause: The SELECT clauses to the left and right of a UNION, INTERSECT, or MINUS expression do not select the same number of columns. For example, the following statement is faulty because the select lists do not contain the same number of items: CURSOR my_cur IS SELECT ename FROM emp INTERSECT SELECT ename, empno FROM emp;
- PLS-00399: different types of columns in UNION, INTERSECT, or MINUS expression
-
Cause: The select lists to the left and right of a UNION, INTERSECT, or MINUS expression select at least one column that is mismatched in datatype. For example, the following statement is faulty because the constant 3 has datatype NUMBER, whereas SYSDATE has datatype DATE: CURSOR my_cur IS SELECT 3 FROM emp INTERSECT SELECT SYSDATE FROM emp;
- PLS-00400: different number of columns between cursor SELECT statement and return value
-
Cause: In a cursor declaration, a return type (such as RETURN emp%ROWTYPE) was specified, but the number of returned column values does not match the number of select-list items.
- PLS-00401: different column types between cursor SELECT statement and return value found at 'string'
-
Cause: In a cursor declaration, a return type (such as RETURN emp%ROWTYPE) was specified, but a returned column value and its corresponding select-list item have different datatypes.
- PLS-00402: alias required in SELECT list of cursor to avoid duplicate column names
-
Cause: A cursor was declared with a SELECT statement that contains duplicate column names. Such references are ambiguous.
- PLS-00403: expression 'string' cannot be used as an INTO-target of a SELECT/FETCH statement
-
Cause: A FETCH statement was unable to assign a value to an assignment target in its INTO list because the target is not a legally formed and declared variable. For example, the following assignment is illegal because 'Jones' is a character string, not a variable: FETCH my_cur INTO 'Jones';
- PLS-00404: cursor 'string' must be declared with FOR UPDATE to use with CURRENT OF
-
Cause: The use of the CURRENT OF cursor_name clause is legal only if cursor_name was declared with a FOR UPDATE clause.
- PLS-00405: subquery not allowed in this context
-
Cause: A subquery was used in an inappropriate context, such as: if (SELECT deptno FROM emp WHERE ... ) = 20 then ... Subqueries are allowed only in SQL statements.
- PLS-00406: length of SELECT list in subquery must match number of assignment targets
-
Cause: A query select list is not the same length as the list of targets that will receive the returned values. For example, the following statement is faulty because the subquery returns two values for one target: UPDATE emp SET ename = (SELECT ename, empno FROM emp WHERE ename = 'SMITH') ...
- PLS-00407: '*' not allowed here; a list of columns is required
-
Cause: An asterisk (*) was used as an abbreviation for a list of column names. However, in this context the column names must be written out explicitly.
- PLS-00408: duplicate column 'string' not permitted in INSERT or UPDATE
-
Cause: An UPDATE or INSERT statement has a column list that contains duplicate column names.
- PLS-00409: duplicate variable 'string' in INTO list is not permitted
-
Cause: The same variable appears twice in the INTO list of a SELECT or FETCH statement.
- PLS-00410: duplicate fields in RECORD,TABLE or argument list are not permitted
-
Cause: When a user-defined record was declared, the same name was given to two fields. Like column names in a database table, field names in a user-defined record must be unique.
- PLS-00411: Number of values in aggregate and in subquery don't match
-
Cause: In a statement of the form aggregate = subquery, the numbers of values in the aggregate and subquery are unequal. For example, the code might look like ... WHERE (10,20,30) = (SELECT empno,deptno FROM emp WHERE...);
- PLS-00412: list of values not allowed as argument to this function or procedure
-
Cause: A parenthesized list of values separated by commas (that is, an aggregate) was used in the wrong context. For example, the following usage is invalid: WHERE (col1, col2) > (SELECT col3, col4 FROM my_table ...) However, an equal sign can take a list of values and a subquery as left- and right-hand-side arguments, respectively. So, the following usage is valid: WHERE (col1, col2) = (SELECT col3, col4 FROM my_table ...)
- PLS-00413: identifier in CURRENT OF clause is not a cursor name
-
Cause: The identifier in a CURRENT OF clause names an object other than a cursor.
- PLS-00414: no column 'string' in table
-
Cause: A table name or alias was used to qualify a column reference, but the column was not found in that table. Either the column was never defined or the column name is misspelled.
- PLS-00415: 'string' is an OUT parameter and cannot appear in a function
-
Cause: An OUT or IN OUT formal parameter was used in a function specification.
- PLS-00416: The third argument of DECODE cannot be NULL
-
Cause: The third argument of DECODE is NULL.
- PLS-00417: unable to resolve "string" as a column
-
Cause: A database table, view, or column was specified in a SQL statement that does not exist, or the privileges required to access the table or view were not granted.
- PLS-00418: array bind type must match PL/SQL table row type
-
Cause: A host array was passed (by an Oracle Precompiler program, for example) to a PL/SQL subprogram for binding to a PL/SQL table parameter. However, the datatypes of the array elements and PL/SQL table rows are incompatible. So, the binding failed.
- PLS-00419: reference to remote attribute not permitted
-
Cause: An attempt was made to reference a remote cursor attribute, which is not allowed. For example, the code might look like IF SQL%NOTFOUND@newyork THEN ...
- PLS-00420: can't call builtin routines remotely
-
Cause: An attempt was made to call a built-in PL/SQL function remotely, which is not allowed. For example, the code might look like my_sqlerrm := SQLERRM@newyork; or INSERT INTO emp VALUES (my_empno, STANDARD.RTRIM@newyork(my_ename), ...);
- PLS-00421: circular synonym 'string'
-
Cause: Directly or indirectly, a synonym was defined in terms of itself, creating a circular definition.
- PLS-00422: no PL/SQL translation for the bindtype given for this bind variable
-
Cause: A host variable was passed (by an Oracle Precompiler program, for example) to PL/SQL for binding. However, its datatype is not compatible with any PL/SQL datatype. So, the binding failed.
- PLS-00423: ORDER BY item must be the number of a SELECT-list expression
-
Cause: A column alias was used in the ORDER BY clause of a SELECT statement that uses a UNION, INTERSECT, or MINUS set operator. This is not allowed. In such cases, expressions in the ORDER BY clause must be unsigned integers that designate the ordinal positions of select-list items.
- PLS-00424: RPC defaults cannot include Package State
-
Cause: An attempt was made to call a remote subprogram whose defaulted parameters depend on package state, which is not allowed. When calling remote subprograms, the actual parameters must be passed explicitly if the corresponding formal parameters depend on package state.
- PLS-00425: in SQL, function argument and return types must be SQL type
-
Cause: When a cursor variable was declared as the formal parameter of a
- PLS-00427: RPC defaults cannot use builtins when versions of STANDARD differ
-
Cause: An attempt was made to call a remote subprogram whose defaulted parameter value is calculated using a builtin operation. If the calling system uses a different version of package STANDARD than does the called system, a defaulted expression must be either a simple numeric or string literal, NULL, or a direct call to a user-written function.
- PLS-00428: an INTO clause is expected in this SELECT statement
-
Cause: The INTO clause of a SELECT INTO statement was omitted. For example, the code might look like SELECT deptno, dname, loc FROM dept WHERE ... instead of SELECT deptno, dname, loc INTO dept_rec FROM dept WHERE ... In PL/SQL, only a subquery is written without an INTO clause.
- PLS-00429: unsupported feature with RETURNING clause
-
Cause: - INTO clause and RETURNING clause cannot be use in the same statement - RETURNING clause is currently not supported for object type columns, LONG columns, records, %rowtypes, remote tables and INSERT with subquery. This is as ORA-28815.
- PLS-00430: FORALL iteration variable string is not allowed in this context
-
Cause: FORALL iteration variable can only be used as a subscript. It cannot be used directly or as a part of an expression.
- PLS-00431: bulk SQL attributes must use a single index
-
Cause: More than one index specified to access SQL bulk attribute.
- PLS-00432: implementation restriction: cannot use FORALL and BULK COLLECT INTO together in SELECT statements
-
Cause: SELECT statement contains both the FORALL and BULK COLLECT INTO phrases.
- PLS-00433: inconsistent package STANDARD
-
Cause: PL/SQL compiler could not find the entries (such as type declarations) that should exist in the package STANDARD.
- PLS-00434: record field has unsupported type: "string"
-
Cause: An attempt was made to use an unsupported type for a record field. In this release, the use of the SQL92 datetime types (time, timestamp, time with time zone, timestamp with time zone, interval year to month, interval day to second) are not supported in record fields.
- PLS-00435: DML statement without BULK In-BIND cannot be used inside FORALL
-
Cause: The DML (SELECT/INSERT/DELETE/UPDATE) statement inside the FORALL statement does not contain BULK IN-BIND variables.
- PLS-00436: implementation restriction: cannot reference fields of BULK In-BIND table of records or objects
-
Cause: table(bulk_index).field is not supported at run-time.
- PLS-00437: FORALL bulk index cannot be used in string clause
-
Cause: RETURNING table(bulk_index) is not supported.
- PLS-00438: value in LIMIT clause: 'string' use is invalid
-
Cause: The evaluation value in the LIMIT clause of a bulk fetch was found in an inappropriate context. For example, the following statement is illegal because the LIMIT clause in a bulk fetch expects a numeric value. FETCH c1 BULK COLLECT INTO var_tab LIMIT '22333'; -- illegal
- PLS-00439: A LIMIT clause must be used within a BULK FETCH
-
Cause: A LIMIT clause is used within a non-bulk fetch
- PLS-00440: FORALL bulk IN-bind variables cannot be used here
-
Cause: A reference to a FORALL statement's bulk IN-bind variable was found in a context in which it is not permitted. For example, such variables are not permitted in expressions in the USING clause of a dynamic SQL statement: forall j in 1..Users.Count() execute immediate ' insert into System_Users(Username) values :U' using Upper(Users(j));
- PLS-00441: EXIT/CONTINUE statement may have a label here; 'string' is not a label
-
Cause: The specified name was not a label. An EXIT or CONTINUE statement does not require a label, but when the optional name appears, it must be a label.
- PLS-00442: CONTINUE statement may not have the prefix STANDARD
-
Cause: The procedure CONTINUE appears in STANDARD but that procedure may not be called either with its name alone or with the prefix STANDARD. It exists only to help in analysis of the CONTINUE statement.
- PLS-00450: a variable of this private type cannot be declared here
-
Cause: A variable declaration uses a type that is declared PRIVATE in some other compilation unit.
- PLS-00452: Subprogram 'string' violates its associated pragma
-
Cause: A packaged function cannot be called from SQL statements unless its purity level is asserted by coding a RESTRICT_REFERENCES pragma in the package specification. The pragma, which is used to control side effects, tells the PL/SQL compiler to deny the packaged function read/write access to database tables, public packaged variables, or both. A SQL statement that violates the pragma will cause a compilation error.
- PLS-00453: remote operations not permitted on object tables or user-defined type columns
-
Cause: A reference to a remote object tables or user-defined type column was found.
- PLS-00454: with a returning into clause, the table expression cannot be remote or a subquery
-
Cause: A reference to a remote table or subquery was found in a sql statement with a returning into clause.
- PLS-00455: cursor 'string' cannot be used in dynamic SQL OPEN statement
-
Cause: dynamicly OPEN a REF CURSOR that has RETURN type. However, only REF CURSOR without RETURN type can be OPEN'ed by an embebded dynamic OPEN statement.
- PLS-00456: item 'string' is not a cursor
-
Cause: the given variable is not a cursor and therefore cannot be OPEN'ed or FETCH'ed from.
- PLS-00457: expressions have to be of SQL types
-
Cause: an expression of wrong type is in USING or dynamic RETURNING clause. In USING or dynamic RETURNING clause, an expression cannot be of non-SQL types such as BOOLEAN, INDEX TABLE, and record.
- PLS-00458: subprogram 'string' cannot be called from a REPEATABLE subprogram
-
Cause: The subprogram is not REPEATABLE and cannot be called from a REPEATABLE subprogram.
- PLS-00459: this feature is not allowed in REPEATABLE subprogram
-
Cause: Having one of the followings feature in the REPEATABLE subprogram: dynamic SQL statements or autonomous transaction.
- PLS-00460: REPEATABLE subprogram 'string' has to be RNDS, WNDS, RNPS, and WNPS
-
Cause: Repeatable subprogram can neither read database state (RNDS), write database state (WNDS), read package state (RNPS), nor write package state (WNPS).
- PLS-00461: mismatch REPEATABLE information between specification and body of 'string'
-
Cause: REPEATABLE is declared at the subprogram's specification, but not at its body, or vice versa.
- PLS-00462: nested subprogram 'string' has to be REPEATABLE
-
Cause: the nested subprogram of a REPEATABLE subprogram is not declared as REPEATABLE. If a subprogram is REPEATABLE, all of its nested subprograms has to be declared as REPEATABLE.
- PLS-00483: exception 'string' may appear in at most one exception handler in this block
-
Cause: An exception appears in two different WHEN clauses (that is, two different exception handlers) in the exception-handling part of a PL/SQL block or subprogram.
- PLS-00484: redundant exceptions 'string' and 'string' must appear in same exception handler
-
Cause: Using the EXCEPTION_INIT pragma, different exceptions were initialized to the same Oracle error number; then, they were referenced in different exception handlers within the same exception-handling part. Such references conflict.
- PLS-00485: in exception handler, 'string' must be an exception name
-
Cause: An identifier not declared as an exception appears in an exception handler WHEN clause. Only the name of an exception is valid in a WHEN clause.
- PLS-00486: select list cannot be enclosed in parentheses
-
Cause: In a SELECT statement, the select list was enclosed in parentheses, as in: SELECT (deptno, dname, loc) FROM dept INTO ... This breaks the rules of SQL syntax. Parentheses are not required because the keywords SELECT and FROM delimit the select list.
- PLS-00487: Invalid reference to variable 'string'
-
Cause: A variable was referenced in a way that is inconsistent with its datatype. For example, a scalar variable might have been mistakenly referenced as a record, as follows: DECLARE CURSOR emp_cur IS SELECT empno, ename, sal FROM emp; emp_rec emp_cur%ROWTYPE; my_sal NUMBER(7,2); BEGIN ... total_sal := total_sal + my_sal.sal; -- invalid ...
- PLS-00488: 'string' must be a type
-
Cause: The datatype specifier in a declaration or expression does not designate a legal type. For example, the %TYPE attribute might not have been added to a declaration, as in DECLARE my_sal emp.sal%TYPE; my_ename emp.ename; -- missing %TYPE ... When declaring a constant or variable, to provide the datatype of a column automatically, use the %TYPE attribute. Likewise, when declaring a record, to provide the datatypes of a row automatically, use the %ROWTYPE attribute.
- PLS-00489: invalid table reference: 'string' must be a column in this expression
-
Cause: In a query, a select-list item refers to a table in the FROM clause but not to a database column.
- PLS-00490: illegal statement
-
Cause: A constant, variable, function call, or incomplete statement was used where a statement was expected. For example, instead of calling a function from an expression, it might have been called as a statement (as if it were a procedure).
- PLS-00491: numeric literal required
-
Cause: A constant or variable was used where a numeric literal is required. For example, the code might look like my_ename VARCHAR2(max_len); instead of my_ename VARCHAR2(15); When specifying the maximum length of a VARCHAR2 variable, an integer literal must be used.
- PLS-00492: variable or constant initialization may not refer to functions declared in the same package
-
Cause: If a package spec p declares a function f, that function may not be used in any variable declarations in that same package spec. This is because of a circular instantiation problem: in order to fully instantiate the package spec, the variable must be initialized. To initialize the variable, the function body code in the package body must be executed. That requires that the package body be instantiated. However, the package body cannot be instantiated until the package spec is fully instantiated.
- PLS-00493: invalid reference to a server-side object or function in a local context
-
Cause: A reference to a server-side object (e.g. a table column) or function (a group function such as SUM, AVG, MIN, MAX, ... ) was found in a context where only PL/SQL objects may be present (such as within the parameter list of a local function or as the index of a (local) PL/SQL table.)
- PLS-00494: coercion into multiple record targets not supported
-
Cause: The INTO list of a SELECT or FETCH specified more than a single record- type target and the column types required coercion into a record to match the INTO list. This is type checked as correct, but not yet supported.
- PLS-00495: too many columns in SELECT...INTO statement after bursting record targets
-
Cause: Type checking indicated the columns in a SELECT or FETCH were being collected into a record in the INTO list. The record was burst into its fields. There were not enough fields in the record for each of the columns.
- PLS-00496: too few columns in SELECT...INTO statement after bursting record targets
-
Cause: Type checking indicated the columns in a SELECT or FETCH were being collected into a record in the INTO list. The record was burst into its fields. There were not enough columns to fill all of the fields in the record.
- PLS-00497: cannot mix between single row and multi-row (BULK) in INTO list
-
Cause: - When BULK syntax (e.g. BULK COLLECT INTO) is used to retrieve data, every variable in the INTO list has to be of type that is a collection of the type of the corresponding column. - When BULK is NOT used, every variable in the INTO list has to be of compatible type with the corresponding column.
- PLS-00498: illegal use of a type before its declaration
-
Cause: A variable or constant was declared to be of a type whose declaration appears later in the compilation unit; or, a type or subtype was declared in terms of another type whose declaration appears later in the compilation unit.
- PLS-00499: coercion into collection of records not supported
-
Cause: A SELECT or FETCH may specify a column list to be coerced into a variable which is a collection of records. This is type checked as correct, but not yet supported because of the implicit layout change required.
- PLS-00500: invalid operator binding
-
Cause: An operator binding fucntion cannot be found in the specified scope.
- PLS-00503: RETURN value statement required for this return from function
-
Cause: In a function body, a RETURN statement was used that contains no expression. In procedures, a RETURN statement contains no expression because the statement simply returns control to the caller. However, in functions, a RETURN statement must contain an expression because its value is assigned to the function identifier.
- PLS-00504: type string_BASE may not be used outside of package STANDARD
-
Cause: In a declaration, the datatype NUMBER_BASE (for example) was mistakenly specified. The datatypes CHAR_BASE, DATE_BASE, MLSLABEL_BASE, and NUMBER_BASE are for internal use only.
- PLS-00505: User Defined Types may only be defined as PLSQL Tables or Records
-
Cause: An attempt was made to define a type other than TABLE or RECORD, but these are the only user- defined types allowed in this release of PL/SQL. For example, the following type definition is illegal: TYPE Byte IS INTEGER(2); -- illegal
- PLS-00506: User Defined Constrained Subtypes are disallowed
-
Cause: An attempt was made to define a constrained subtype, but only unconstrained subtypes are allowed in this release of PL/SQL. For example, the following type definition is illegal: SUBTYPE Acronym IS VARCHAR2(5); -- illegal
- PLS-00507: a PLSQL Table may not contain a table or a record with composite fields
-
Cause: In a TABLE type definition, a nested record type was specified as the element type. This is not allowed. All fields in the record must be scalars.
- PLS-00508: The expression in a RETURN statement cannot be a type
-
Cause: A datatype specifier was used instead of an expression in the RETURN statement of a user-defined function, as shown in the example below. Do not confuse the RETURN statement, which sets the function identifier to the result value, with the RETURN clause, which specifies the datatype of the result value. FUNCTION credit-rating (acct_no NUMBER) RETURN BOOLEAN IS BEGIN ... RETURN NUMBER; -- should be an expression END;
- PLS-00509: Implementation Restriction : Pass a returned record to a temporary identifier before selecting a field
-
Cause: Illegal syntax was used to call a parameter-less function that returns a record or a PL/SQL table of records. When calling a function that takes parameters and returns a record, you use the following syntax to reference fields in the record: function_name(parameters).field_name However, you cannot use the syntax above to call a parameter-less function because PL/SQL does not allow empty parameter lists. That is, the following syntax is illegal: function_name().field_name -- illegal; empty parameter list You cannot just drop the empty parameter list because the following syntax is also illegal: function_name.field_name -- illegal; no parameter list.
- PLS-00510: Float cannot have scale
-
Cause: When a FLOAT variable was declared, its precision and scale were specified, as shown in the following example: DECLARE Salary FLOAT(7,2); However, a scale for FLOAT variables cannot be specified; only a precision can be specified, as in salary FLOAT(7);
- PLS-00511: a record may not contain a PL/SQL table of records
-
Cause: n a RECORD definition, one of the fields was declared as a PL/SQL table of records. This is not allowed. A record can be the component of another record (that is, records can be nested), but a PL/SQL table of records cannot be the component of a record.
- PLS-00512: Implementation Restriction: 'string': Cannot directly access remote package variable or cursor
-
Cause: An attempt was made to reference a remote packaged variable or cursor. This is not allowed. Instead, add to the remote package a function that returns the value of the variable or cursor.
- PLS-00513: PL/SQL function called from SQL must return value of legal SQL type
-
Cause: In a SQL statement, do not call a PL/SQL function having a return type that can not be handled by SQL. For example, type BOOLIAN, records and indexed-tables are not supported by SQL and functions returneing such values can not be called from SQL.
- PLS-00514: INSERT statement with REF INTO clause requires a typed table
-
Cause: This INSERT statement provides REF INTO clause, which is only legal when the table specified in the INTO clause is an object table.
- PLS-00515: The type of the REF INTO variable 'string' must be REF to the table's type
-
Cause: In INSERT statement with REF INTO clause, the type of the data item must be REF to the type of the table used in INTO clause.
- PLS-00516: Type mismatch between object table and value 'string' in INSERT statement.
-
Cause: In the INSERT statement operating on typed tables (tables of objects), the type of a non-aggregate value did not match the object type of the table.
- PLS-00517: Type mismatch between a select list element 'string' and corresponding table column in INSERT statement with a subquery
-
Cause: In an INSERT statement with subquery, at lease one of the elements of the select list was not type-compatible with the corresponding column of the table in the INTO clause. This error indicates that the subquery should be rewritten to match the structure of the target table.
- PLS-00518: This INSERT statement requires VALUES clause containing a parenthesised list of values
-
Cause: A VALUES clause was entered without a list of SQL data items in parentheses. In all INSERT statements with an explicit column list, the VALUES clause must contain a list of SQL data items in parentheses. For example: INSERT INTO my_tab (a,b,c) VALUES (1,2,my_variable);
- PLS-00519: This INSERT statement requires a VALUES clause containing an object type expression, not a list of values
-
Cause: In an INSERT statement with typed tables, an aggregate was used when an object type item was expected.
- PLS-00520: MAP methods must be declared without any parameters other than (optional) SELF.
-
Cause: A MAP member function was declared with a parameter. Map member functions can have only one parameter: the default SELF parameter. Map methods must be declared without any parameters. The compiler adds the SELF parameter.
- PLS-00521: ORDER methods must be declared with 1 (one) parameter in addition to (optional) SELF.
-
Cause: An order member function was declared without the user-specified parameter. Order member functions have two parameters, one is the default SELF parameter which is added by the compiler. the second parameter is added by the user and must declare an order method which must be the same type as the containing object type.
- PLS-00522: MAP methods must return a scalar type.
-
Cause: The MAP member function was written such that it returns something other than a scalar type.
- PLS-00523: ORDER methods must return an INTEGER.
-
Cause: An order member function was written such that it returns something other than an integer type.
- PLS-00524: The parameter type in an ORDER method must be the containing object type.
-
Cause: An order member function was declared without the user- specified parameter. Order member functions have two parameters, one is the default SELF parameter which is added by the compiler. the second parameter is added by the user and must declare an order method which must be the same type as the containing object type.
- PLS-00525: Within SQL statements, only equality comparisons of objects are allowed without a map or order function.
-
Cause: A map or order function was not provided for a relational comparison. Only equality comparisons may be used when a map or order function is not supplied.
- PLS-00526: A MAP or ORDER function is required for comparing objects in PL/SQL.
-
Cause: Within stand alone PL/SQL, an attempt was made to compare objects without a map or order function.
- PLS-00527: MAP or ORDER functions require a PRAGMA RESTRICT_REFERENCES specifying :WNDS,WNPS,RNPS,RNDS.
-
Cause: Either a PRAGMA RESTRICT_REFERENCES was not specified or it was specified without one of the following: WNDS, WNPS, RNPS, or RNDS.
- PLS-00528: The parameters to an ORDER function must have IN mode
-
Cause: You declared parameter to an ORDER function to have OUT or IN OUT mode.
- PLS-00529: Bad column name string in INSERT statement (must be an identifier)
-
Cause: In an INSERT statement, an attempt was made to use a column name that is not an identifier. In any INSERT statement with explicit column list a column name must be a simple identifier.
- PLS-00530: Illegal type used for object type attribute: 'string'.
-
Cause: An attempt was made to use an invalid type for an object type attribute.
- PLS-00531: Unsupported type in a VARRAY or TABLE type: 'string'.
-
Cause: An attempt was made to use an unsupported type in a VARRAY or TABLE type.
- PLS-00532: Target of REF must be a complete or incomplete object type.
-
Cause: The target of a REF can only be a complete or an incomplete object type.
- PLS-00533: Tables of non_queryable types are not supported.
-
Cause: An attempt was made to create a table of a type which cannot be queried. Tables of such types are not supported.
- PLS-00534: A Table type may not contain a nested table type or VARRAY.
-
Cause: An attempt was made to do one of the following: define a table type which contained nested collection types. or define an object table that has (perhaps nested) another table type or VARRAY type.
- PLS-00535: A VARRAY type may not contain a NESTED TABLE, VARRAY or LOB
-
Cause: An attempt was made to do one of the following: define a VARRAY type containing a nested collection type or LOB or define a VARRAY type of an object type that has a nested attribute which is one of NESTED TABLE, VARRAY or LOB type.
- PLS-00536: Navigation through REF variables is not supported in PL/SQL.
-
Cause: The expression of the form refvar.field was entered. This is not supported in PL/SQL, ver 8.0.
- PLS-00537: A VARRAY must have a positive limit
-
Cause: A VARRAY type was declared with a non-positive limit, for example VARRAY(0).
- PLS-00538: subprogram or cursor 'string' is declared in an object type specification and must be defined in the object type body
-
Cause: The specified subprogram is declared in an object type's specification, but is not defined in the object type body.
- PLS-00539: subprogram 'string' is declared in an object type body and must be defined in the object type specification
-
Cause: The specified subprogram is declared in an object type's body, but is not defined in the object type's specification. Notice cursor bodies can exist without a specification.
- PLS-00540: object not supported in this context.
-
Cause: An object was declared inside a local scope (Function, Procedure, or anonymous block), or in a package scope which is not supported.
- PLS-00541: size or length specified is too large.
-
Cause: A length or size that is too large was specified for a data item.
- PLS-00542: CLOB and NCLOB cannot use varying-width character sets in the server
-
Cause: A server type is being created with an embedded CLOB or NCLOB atttribute which uses a varying-width character set.
- PLS-00543: a PLSQL Table may not contain a nested table type or VARRAY.
-
Cause: An attempt was made to define a PLSQL table that contained a (possibly deeply) nested table type or VARRAY. Nested collection types are not supported.
- PLS-00546: SELF may not be declared as a REF parameter.
-
Cause: SELF was declared as a ref parameter to a member function or procedure. SELF is not supported as a REF.
- PLS-00548: invalid use of operator.
-
Cause: A name of an operator is used as a qualifier or appears outside from sql context.
- PLS-00550: character set specification is not allowed for this type
-
Cause: A character set specification was made on a type that does not require one.
- PLS-00551: character set ANY_CS is only allowed on a subprogram parameter
-
Cause: The character set ANY_CS was specified when it is not allowed.
- PLS-00552: flexible character set is not allowed on component element
-
Cause: ANY_CS or %CHARSET was used to reference an ANY_CS parameter which is not a CHAR, VARCHAR2, or CLOB type. ANY_CS or %CHARSET is not allowed for fields of a record , object, elements of a collection, etc.
- PLS-00553: character set name is not recognized
-
Cause: An unrecognized name appears in a character set specification.
- PLS-00554: character set has already been determined
-
Cause: A redundant or conflicting character set was specified.
- PLS-00555: default expressions are not allowed for SQL operators
-
Cause: A default expression has been specified for a SQL operator.
- PLS-00560: character set mismatch
-
Cause: An expression was used that has the wrong character set for this context.
- PLS-00561: character set mismatch on value for parameter 'string'
-
Cause: An expression was used that contains an incorrect character set. The actual argument has a character set conflict. If a default argument value is being used, it might be in conflict with some actual argument that must have the same character set.
- PLS-00562: a function must return a type.
-
Cause: The current function was definied to return something other than a data type.
- PLS-00563: illegal use of CAST expression
-
Cause: CAST (in PLSQL) was used outside of a DML scope.
- PLS-00564: lob arguments are not permitted in calls to remote server
-
Cause: use of lob argument in call to remote server
- PLS-00565: string must be completed as a potential REF target (object type)
-
Cause: Incomplete library units that are potential targets of REF dependencies must be completed so that they continue to remain potential targets of REF dependencies (since there might be library units with REF dependencies on this library unit). Potential REF targets include complete and incomplete object types. This error happened because an attempt was made to complete a potential REF target as something other than a potential REF target.
- PLS-00566: type name "string" cannot be constrained
-
Cause: A lob, date, boolean, rowid, or mlslabel type was constrained with a length specification. For example: X BLOB(5);
- PLS-00567: cannot pass NULL to a NOT NULL constrained formal parameter
-
Cause: You attempted to pass NULL to a NOT NULL constrained parameter.
- PLS-00568: cannot access rows from a non-nested table item
-
Cause: You attempted to use TABLE expression, from a non-nested table
- PLS-00569: numeric overflow or underflow
-
Cause: A constant literal is either too large or too small to fit in an Oracle number
- PLS-00570: different number of columns in the multiset and cast expressions
-
Cause: Number of columns in the collection returned by MULTISET and the number of columns for the CAST type don't match. For example: create type tab_obj as object (n number); create type tab1 as table of tab_obj; create table tab2 (col1 number, col2 number); select CAST(MULTISET(select col1, col2 from tab2) as tab1) from tab2;
- PLS-00571: method access through data base link not yet supported on client side
-
Cause: Remote link is used with on client side
- PLS-00572: improper constraint form used
-
Cause: "number" types cannot have a range. user-defined aggregate types and integer types cannot have scale or precision specified. Example: "x number(5,3)" is acceptable but "x number range 1..10" is not.
- PLS-00573: cannot constrain scale, precision, or range of an anchored type declaration
-
Cause: A variable declared with %TYPE or %ROWTYPE cannot have a scale, precision, or range constraint. Example: x y%TYPE(10) is not acceptable. It is legal to add "NOT NULL" or non-conflicting CHARACTER SET constraints to anchored type declarations.
- PLS-00580: supertype must be an object type
-
Cause: An attempt was made to declare an object type to have a supertype, but the specified supertype was not itself an object type. Object types can inherit only from other object types.
- PLS-00581: inheritance is not supported for opaque types
-
Cause: An attempt was made to declare an opaque type with a supertype.
- PLS-00582: attribute declarations are not allowed in opaque types
-
Cause: An attempt was made to declare an attribute in an opaque type.
- PLS-00583: size must be specified if opaque type is fixed-length
-
Cause: An attempt was made to declare a fixed-length opaque type without specifying an explicit size.
- PLS-00584: size of an opaque type must be between 1 and 4000 bytes
-
Cause: An attempt was made to specify an explicit size for an opaque type, but the specified size was out of the valid range.
- PLS-00585: declared support library for opaque type is not a library
-
Cause: An attempt was made to name a support library for an opaque type, but the name refers to an object that is not a library.
- PLS-00586: a static method cannot declare a parameter named SELF
-
Cause: An attempt was made to name a parameter SELF when declaring a static method. SELF is reserved as a parameter name in methods, to hold the object instance on which the method is applied. A parameter named SELF is not allowed in static methods because static methods do not apply to a particular object instance.
- PLS-00587: a static method cannot be invoked on an instance value
-
Cause: An attempt was made to use an object instance value, not a typename, as the qualifier of the name of a method invocation, but only a typename can be used as the qualifier when calling a static method.
- PLS-00588: unqualified instance attribute references allowed only in member methods
-
Cause: An attempt was made to use the name of an object instance attribute in the body of a static method, or in an initialization default value on another attribute. If the instance attribute is not qualified with a particular object instance that supplies a value, the instance attribute can be named only when it is inside a member method.
- PLS-00589: no attributes found in object type "string"
-
Cause: Table of non adt type is defined.
- PLS-00590: attempting to create a subtype UNDER a FINAL type
-
Cause: An attempt was made to create a subtype UNDER a FINAL type.
- PLS-00591: this feature is not supported in client-side programs
-
Cause: One of the following features was used in a wrong context: pragma AUTONOMOUS_TRANSACTION, dynamic SQL statements, (e.g. EXECUTE IMMEDIATE), and bulk binds. These listed features can only be used in server-side programs but not client-side programs.
- PLS-00592: the type of a object table must be an object type
-
Cause: You have defined a typed-table of a non-object type.
- PLS-00593: default value of parameter "string" in body must match that of spec
-
Cause: The default value initialization of a parameter in a subprogram body contained in a package body did not match that of the corresponding subprogram specification in the corresponding package specification.
- PLS-00594: the SELF parameter can be declared only as IN or as IN OUT
-
Cause: The SELF parameter was declared as an OUT parameter.
- PLS-00595: the TABLE operator is not allowed in this context
-
Cause: This feature is not yet implemented.
- PLS-00597: expression 'string' in the INTO list is of wrong type
-
Cause: This exception is raised for the following errors: - the expression in INTO clause of OPEN or RETURNING statement is neither of legal SQL datatypes nor of PL/SQL RECORD datatype - a collection of records is used in INTO clause of OPEN or RETURNING statement. - a record or a collection of records is used in BULK COLLECT INTO
- PLS-00598: comparison of object with NULL using "string" is not allowed
-
Cause: An object is compared with NULL using a relational operator.
- PLS-00599: SAMPLE percentage must be in the range [0.000001,100)
-
Cause: The percentage number is not in the range [0.000001,100)
- PLS-00600: SAMPLE cannot be applied to a remote object
-
Cause: SAMPLE applying to a remote object is not supported
- PLS-00601: partition extended object names may only be used with tables
-
Cause: User attempted to use a partition-extended object name with an object which is not a table.
- PLS-00602: CUBE and ROLLUP may appear only in a GROUP BY clause
-
Cause: User attempted to use the keywords CUBE or ROLLUP outside a GROUP BY clause
- PLS-00603: GROUPING function supported only with GROUP BY CUBE or ROLLUP
-
Cause: User attempted to use the GROUPING function without GROUP BY CUBE or GROUP BY ROLLUP
- PLS-00604: aggregate function is not allowed here
-
Cause: One of the functions, such as AVG, COUNT, MAX, MIN, SUM, STDDEV or VARIANCE, was used in a WHERE or GROUP BY clause
- PLS-00605: set operators are not yet supported as an argument to a MULTISET operator
-
Cause: A set operator was used in a subquery that was the argument to a MULTISET operator.
- PLS-00606: cursor subquery is not supported on client side in this release
-
Cause: A query that contains a cursor subquery is being used from client side.
- PLS-00607: SQLJ Object Types can have only SQLJ Types as its supertype or subtype
-
Cause: You were trying to create a SQLJ Object Type under a non-SQLJ Object Type.
- PLS-00608: the value of the USING clause must match that of the supertype
-
Cause: You were trying to create a SQLJ Object Type with a different value of the USING clause from the USING clause specified in its supertype.
- PLS-00609: the OVERRIDING clause is not valid for SQLJ Object Types
-
Cause: You were trying to a SQLJ Object Type method that override an inherited method.
- PLS-00610: ROW can be used only once in SET clause of UPDATE statement
-
Cause: You were trying to use ROW more than once in UPDATE statement.
- PLS-00611: right hand side can be only the variables of record type
-
Cause: with ROW on LHS, only PL/SQL records or %ROWTYPE variables are allowed on right hand side..
- PLS-00612: Number of attributes do not match in SET clause
-
Cause: Number of columns do not match with number of attributes on record type on rhs.
- PLS-00613: only one item is allowed, when using variables of record type
-
Cause: You are trying to use more than one values in VALUES clause or RETURNING INTO clause, when one of the value is of record type..
- PLS-00614: creating a FINAL NOT INSTANTIABLE type
-
Cause: An attempt was made to create a FINAL NOT INSTANTIABLE type. No useful operation can be performed with this type.
- PLS-00615: type mismatch found at 'string' between CASE operand and WHEN operands
-
Cause: In a simple CASE statement or expression, the CASE operand and WHEN operands do not match in datatype, and it is unclear which implicit conversion is required to correct the mismatch.
- PLS-00616: type mismatch found at 'string' among result expressions in a CASE expression
-
Cause: In a CASE expression, the result expressions do not match in datatype, and it is unclear which implicit conversion is required to correct the mismatch.
- PLS-00617: at least one result in the CASE expression must not be NULL
-
Cause: All the results in the CASE expression are the literal NULL.
- PLS-00618: type mismatch found at 'string' between operands in a NULLIF expression
-
Cause: In a NULLIF expression, the two operands do not match in datatype, and it is unclear which implicit conversion is required to correct the mismatch.
- PLS-00619: the first operand in the NULLIF expression must not be NULL
-
Cause: The first operand in the NULLIF expression is the literal NULL.
- PLS-00620: type mismatch found at 'string' among operands in a COALESCE expression
-
Cause: In a COALESCE expression, the operands do not match in datatype, and it is unclear which implicit conversion is required to correct the mismatch.
- PLS-00621: at least one operand in the COALESCE expression must not be NULL
-
Cause: All the operands in the COALESCE expression are the literal NULL.
- PLS-00622: range constraints must be between -2147483647 and 2147483647
-
Cause: The range constraints specified for a pls_integer or binary_integer declaration did not fall between -2147483647 and 2147483647.
- PLS-00623: FLOAT precision constraint must be between 1 and 126
-
Cause: The precision specified for a FLOAT, REAL or DOUBLE PRECISION did not fall between 1 and 126.
- PLS-00624: USING clause must be used with either aggregate or pipelined functions
-
Cause: USING clause cannot be used with functions that are not declared with AGGREGATE or PIPELINED properties.
- PLS-00625: PARTITION/CLUSTER/ORDER-BY clause can only be used with IN parameters
-
Cause: A PARTITION/CLUSTER/ORDER-BY clause was used with an OUT or IN OUT ref-cursor parameter.
- PLS-00626: partitioned/clustered/ordered parameter must be a function argument
-
Cause: A partitioning or clustering/ordering specification specified on an argument that is not one of the function arguments.
- PLS-00627: 'string' must be a strongly typed ref cursor
-
Cause: A partitioning or clustering/ordering specification specified on an argument that is not a strongly typed ref cursor.
- PLS-00628: 'string' must be a valid record attribute
-
Cause: A partitioning or clustering/ordering specification must use only valid record attributes.
- PLS-00629: PIPE statement cannot be used in non-pipelined functions
-
Cause: A PIPE statement was used in a non-pipelined function.
- PLS-00630: pipelined functions must have a supported collection return type
-
Cause: A pipelined function was specified with an unsupported return type. The following are not supported as return types of pipelined functions: - non-collections, - PL/SQL tables, - associative arrays, - collections of PL/SQL types: rowid, mlslabel, long, long raw, boolean, binary_integer, pls_integer, string and urowid The following restrictions apply: - If the return type is a collection of records, then each of the attributes of the record must be a supported type. - A collection of records must not contain a record type as one of its attributes.
- PLS-00631: PARTITION-BY and CLUSTER/ORDER-BY clauses must be used with the same function argument
-
Cause: PARTITION-BY and CLUSTER/ORDER-BY clauses are specified on different function arguments.
- PLS-00632: NOT INSTANTIABLE method cannot have a body
-
Cause: An attempt was made to provide an implementation for a NOT INSTANTIABLE method.
- PLS-00633: RETURN statement in a pipelined function cannot contain an expression
-
Cause: A RETURN statement in a pipelined function contains an expression, which is not allowed. Pipelined functions must send back values to the caller by using the PIPE statement.
- PLS-00634: type with NOT INSTANTIABLE methods must be declared NOT INSTANTIABLE
-
Cause: The type being created contains NOT INSTANTIABLE methods, either declared or inherited. The type must be explicitly declared NOT INSTANTIABLE
- PLS-00635: method does not override
-
Cause: The method specification contains the OVERRIDING keyword but the method does not override a method in the ancestor types.
- PLS-00636: overriding method requires OVERRIDING keyword
-
Cause: An attempt was made to provide an overriding method specification, but the OVERRIDING keyword was not specified.
- PLS-00637: FINAL method cannot be overriden or hidden
-
Cause: An attempt was made to override a FINAL MEMBER method or hide a FINAL STATIC method.
- PLS-00638: cannot overload MAP method
-
Cause: The MAP method does override the inherited one.
- PLS-00639: NCHAR/NVARCHAR2 cannot be byte length semantics
-
Cause: NCHAR/NVARCHAR can only be codepoint length sematics. BYTE qualifiers used with NCHAR is illegal: nc NCHAR(7 BYTE); name NVARCHAR2(10 byte);
- PLS-00640: a pipelined function cannot be called from PL/SQL context
-
Cause: A pipelined function was invoked from a PL/SQL expression.
- PLS-00641: INTO clause not allowed for this SELECT statement
-
Cause: A SELECT statement in a cursor definition, an OPEN statement or a cursor FOR loop has an erroneous INTO clause.
- PLS-00642: local collection types not allowed in SQL statements
-
Cause: A locally-defined (i.e. not schema level) collection type was used in a SQL statement. The type must be defined in a schema to be accepted in a SQL statement.
- PLS-00643: booleans, index tables, records and cursors not allowed in SQL statements
-
Cause: Items of type boolean, table of foo index by binary_integer, record and static cursors cannot be used in SQL statements.
- PLS-00644: character set mismatch found at 'string' among result expressions in a CASE expression
-
Cause: In a CASE expression, the result expressions do not match in character set, and it is unclear which implicit conversion is required to correct the mismatch.
- PLS-00645: character set mismatch found at 'string' among operands in a COALESCE expression
-
Cause: In a COALESCE expression, the operands do not match in character set and it is unclear which implicit conversion is required to correct the mismatch.
- PLS-00646: MAP or ORDER method must be defined in the root of the subtype hierarchy
-
Cause: An attempt was made to define a MAP or ORDER method in a subtype.
- PLS-00647: attribute by name "string" conflicts with method by same name
-
Cause: While creating a subtype some attribute name conflicted with a method name.
- PLS-00648: type of supertype attribute "string" can not be a subtype or reference to a subtype in this release
-
Cause: User tried to complete a type, Tsub as a subtype of another type, Tsuper where Tsuper contained an attribute of type Tsub or of type REF to Tsub. This is an implementation restriction.
- PLS-00649: method "string" can be overridden only once per object type
-
Cause: User tried to override the method more than once in the same subtype.
- PLS-00650: invalid type for PARTITION/CLUSTER/ORDER BY clause
-
Cause: Uer tried to use invalid type for PARTITION/CLUSTER?ORDER BY clause.
- PLS-00651: implementation type in Aggregate/Table function should be a valid type
-
Cause: User tried to use some other database object like a package to define implementation type of an aggregate/table function.
- PLS-00652: incorrect number of arguments for aggregate function
-
Cause: An attempt was made to create an aggregate function with either 0 arguments or more than 999 arguments.
- PLS-00653: aggregate/table functions are not allowed in PL/SQL scope
-
Cause: User tried to use a table/aggregate function in PL/SQL scope.
- PLS-00654: PARTITION/ORDER/CLUSTER BY are allowed for only with PARALLEL_ENABLE
-
Cause: User tried partion by order by cluster by without parallel enable clause in table function.
- PLS-00655: only functions can be declared as PIPELINED
-
Cause: user is trying to declare a procedure to be pipeliend function
- PLS-00656: field 'string' not available in input argument
-
Cause: An EXTRACT operation specified a field that was not present. For example, you tried to extract the YEAR field from a TIME variable.
- PLS-00657: Implementation restriction: bulk SQL with associative arrays with VARCHAR2 key is not supported.
-
Cause: Variable or expression of associative array type was used as bulk SQL bind or define.
- PLS-00658: constructor method name must match type name
-
Cause: The name of the object type constructor does not match the type name.
- PLS-00659: constructor method must return SELF AS RESULT
-
Cause: The return clause of the constructor method did not specify SELF AS RESULT.
- PLS-00660: SELF parameter of constructor method must be IN OUT
-
Cause: The mode of the SELF parameter of the constructor was not IN OUT.
- PLS-00661: RETURN statement in a CONSTRUCTOR cannot include an expression
-
Cause: An attempt was made to include an expression in the RETURN statement of a CONSTRUCTOR body.
- PLS-00662: Non-external object types containing external mapped attributes are not allowed
-
Cause: An attempt was made to create a non-external object, whoose attributes are mapped externally.
- PLS-00663: the NEW keyword is not allowed in this context
-
Cause: The NEW keyword is not followed by an call to a constructor method.
- PLS-00664: Both ORDER BY and CLUSTER BY can not be specified for the same table function
-
Cause: An attempt was made to specify both ORDER BY and CLUSTER BY for the same table function.
- PLS-00665: ORDER BY and CLUSTER BY clauses require a PARTITION BY clause
-
Cause: An attempt was made to specify an ORDER BY or CLUSTER BY clause without also specifying a PARTITION BY clause.
- PLS-00666: Only index by binary_integer/pls_integer associative arrays allowed here
-
Cause: An attempt was made to specify index collection that was not indexed by binary_integer or pls_integer.
- PLS-00667: Element type of associative array should be pls_integer or binary_integer
-
Cause: An attempt was made to specify index collection whos element type was not one of pls_integer or binary_integer.
- PLS-00668: Type of expression should be a collection type
-
Cause: An attempt was made to specify expression after INDICES OF or VALUES OF clause whose type is not a collection type.
- PLS-00669: Type of expression should be a valid collection variable
-
Cause: An attempt was made to specify expression after INDICES OF or VALUES OF clause that is not a collection variable.
- PLS-00670: sort columns must be simple column names
-
Cause: An attempt was made to specify an expression as a sort column in a PARTITION BY, CLUSTER BY or ORDER BY clause. Only simple column names are permitted.
- PLS-00671: this expression is allowed only with instance methods
-
Cause: The generalized invocation syntax was used in instance method context.
- PLS-00672: The expression string should be a subtype of the type string
-
Cause: The expression in the generalized expression should be a sub type of the type.
- PLS-00673: Generalized expression is not allowed in this context
-
Cause: The generalized expression is used in wrong context
- PLS-00674: references to fields of BULK In-BIND table of records or objects must have the form A(I).F
-
Cause: The form table(bulk_index).field is the only field selection supported at runtime.
- PLS-00675: invalid section for this type of Compound Trigger
-
Cause: Before and After row sections are not allowed for Compound trigges defined on the Table and instead of row section is not allowed for Compound Triggers defined on a view.
- PLS-00676: duplicate Compound Triggers section
-
Cause: Each Compound Trigger Section can appear at most once in a body of the compound trigger
- PLS-00677: Compound Triggers cannot be autonomous transactions
-
Cause: The Compound Triggers hsd pragma autonomous transaction.
- PLS-00678: RETURN statement not allowed inside Compound Triggers
-
Cause: A return Statement was seen inside a compound trigger
- PLS-00679: trigger binds not allowed in before/after statement section
-
Cause: :new or :old were used in this section.
- PLS-00680: BEFORE/AFTER ROW sections were used in a view trigger
-
Cause: BEFORE/AFTER ROW sections are not allowed with instead of row triggers.
- PLS-00681: named association syntax is required
-
Cause: Named association syntax was not used for element values in an associative array aggregate.
- PLS-00682: REVERSE not allowed in a cursor FOR loop
-
Cause: The REVERSE keyword was specified in a loop over a cursor.
- PLS-00683: pipelined functions return type of remote object types are not supported
-
Cause: A collection return type referencing a remote object was specified.
- PLS-00684: invalid data type for the JSON return value
-
Cause: A JSON function was specified with an unsupported return type. The following are supported as return types of each JSON function: -JSON_OBJECT, JSON_ARRAY: varchar2 -JSON_VALUE varchar2, raw, number, boolean, sdo_geometry, blob, clob date, timestamp, timestamp_with_time_zone -JSON_QUERY varchar2, raw, blob, clob
- PLS-00685: invalid default value provided
-
Cause: A JSON function was specified with an incompatible default literal according to the return data type.
- PLS-00686: default value not a literal
-
Cause: The default value for the JSON function is not a literal.
- PLS-00687: unsupported data type of argument for JSON function
-
Cause: An argument of the JSON call has an unsupported datatype. found.
- PLS-00700: PRAGMA EXCEPTION_INIT of string must follow declaration of its exception in the same declarative part
-
Cause: An EXCEPTION_INIT pragma was not declared in the same block as its exception. They must be declared in the proper order in the same block, with the pragma declaration following the exception declaration.
- PLS-00701: illegal ORACLE error number string for PRAGMA EXCEPTION_INIT
-
Cause: The error number passed to an EXCEPTION_INIT pragma was out of range. The error number must be in the range -9999 .. -1 (excluding -100) for Oracle errors or in the range -20000 .. -20999 for user-defined errors.
- PLS-00702: second argument to PRAGMA EXCEPTION_INIT must be a numeric literal
-
Cause: The second argument passed to an EXCEPTION_INIT pragma was something other than a numeric literal (a variable, for example). The second argument must be a numeric literal in the range -9999 .. -1 (excluding -100) for Oracle errors or in the range -20000 .. -20999 for user-defined errors.
- PLS-00703: multiple instances of named argument in list
-
Cause: Two or more actual parameters in a subprogram call refer to the same formal parameter.
- PLS-00704: 'string' must be declared as an exception
-
Cause: The exception_name parameter passed to an EXCEPTION_INIT pragma is misspelled or does not refer to a legally declared exception. Or, the pragma is misplaced; it must appear in the same declarative section, somewhere after the exception declaration.
- PLS-00705: exception 'string' used in expression requiring return type
-
Cause: An exception was referred to in an expression. Exceptions have names but not values and therefore cannot contribute values to an expression. For example, the following RETURN statement is illegal: FUNCTION credit_limit (cust_no INTEGER) RETURN NUMBER IS limit NUMBER; over_limit EXCEPTION; ... BEGIN ... RETURN over_limit; -- illegal END;
- PLS-00706: Exception string cannot be used as prefix of a selected component
-
Cause: An exception name was mistakenly used to qualify a reference to a component. For example, when dot notation was used to specify fields within a record, an exception name might have been coded instead of the record name.
- PLS-00707: unsupported construct or internal error [string]
-
Cause: At run time, this is an internal error. At compile time, it indicates one of the following problems: -- A call was made to a remote subprogram that has a parameter type or default expression not supported at the calling site. -- An incomplete upgrade or downgrade was done to a database that has stored procedures. Perhaps incorrect versions of system packages such as STANDARD.SQL were installed. -- A compiler bug was encountered. In such cases, legal PL/SQL syntax will fail to compile.
- PLS-00708: Pragma string must be declared in a package specification
-
Cause: The named pragma was not declared in a package specification, as required. For example, the pragma RESTRICT_REFERENCES must be declared in a package specification.
- PLS-00709: pragma string must be declared in package specification and body
-
Cause: The named pragma was declared in a package specification but not in the corresponding package body or vice-versa, as well as the package body.
- PLS-00710: Pragma string cannot be specified here
-
Cause: The pragma was specified in an inappropriate context.
- PLS-00711: PRAGMA string cannot be declared twice
-
Cause: The PRAGMA was declared twice in the same block.
- PLS-00712: illegal option for subprogram string
-
Cause: Only top level subprograms or subprogram declarations in PACKAGE or TYPE specifications are allowed to have the options DETERMINISTIC or PARALLEL_ENABLE. For example, this error would be raised if the options are used in PACKAGE or TYPE body.
- PLS-00713: attempting to instantiate a type that is NOT INSTANTIABLE
-
Cause: An attempt was made to instantiate a type that is defined as NOT INSTANTIABLE.
- PLS-00714: supertypes's AUTHID is DEFINER but supertype and subtype are not in same schema
-
Cause: The supertype's AUTHID is DEFINER, but the supertype and subtype are defined in different schemas. SQL statements executed in dynamically dispatched methods can potentially pick up different values from database tables in the two schemas.
- PLS-00715: attribute or method by name 'string' does not exist
-
Cause: An attempt was made to drop a nonexistant method or attribute from the type being altered.
- PLS-00716: Attribute/method 'string' can occur only once in an ALTER TYPE statement
-
Cause: User attempted more than one of ADD, DROP or MODIFY on an attribute in single ALTER TYPE statement. User attempted more than one of ADD or DROP on a method in single ALTER TYPE statement.
- PLS-00717: method 'string' does not have matching signature among existing methods
-
Cause: The method to be dropped matches the name of some existing method but does not match it in signature.
- PLS-00718: type of attribute 'string' does not allow modifications to the attribute
-
Cause: The type of the attribute to modify is not one of VARCHAR2, NUMBER, or RAW.
- PLS-00719: only widening of attribute 'string' constraints is allowed
-
Cause: Modification to the attribute did not widen its constraints or attempted to change the type of the attribute. For NUMBER type attributes, scale and precision can be changed to allow increase in number of digits after and before the decimal point. For VARCHAR2 and RAW type attributes the size can be increased. Other type attributes are not allowed to be modified. Change of type of attribute is also not allowed.
- PLS-00720: type 'string' has evolved
-
Cause: The type has evolved. The version of the type used by the compiled code is not the same as the latest version of the type.
- PLS-00721: 'string' formed a non-REF mutually-dependent cycle with 'string'
-
Cause: This compilation was aborted because the library unit that was compiled would have formed a non-REF mutually-dependent cycle with some other library units. This happens when an attempt is made to compile types that have attributes of other types that may participate in a cycle with this type. Example: create type t1; create type t2 (a t1); create type t1 (a t2);
- PLS-00722: supertypes's AUTHID is different than subtype's AUTHID
-
Cause: The subtype's's AUTHID must be same as the supertype's AUTHID.
- PLS-00725: type 'string' must be a supertype or subtype of the TREAT expression
-
Cause: In TREAT(expr AS type), type must be a supertype or subtype of expr.
- PLS-00726: MODIFY ELEMENT is supported only on schema-level varray and nested tables
-
Cause: An attempt was made to modify the limit of a type that was not a schema-level varray and nested table type.
- PLS-00727: MODIFY LIMIT is supported only on schema-level varray types
-
Cause: An attempt was made to modify the limit of a type that was not a schema-level varray type.
- PLS-00728: the limit of a VARRAY can only be increased and to a maximum 2147483647
-
Cause: An attempt was made to decrease the limit or raise it past 2147483647.
- PLS-00729: only widening of the collection element type is allowed
-
Cause: Modification to the collection element type did not widen its constraints or attempted to change the type of the element. For NUMBER types, scale and precision can be changed to allow increase in number of digits after and before the decimal point. For VARCHAR2 and RAW type attributes the size can be increased.
- PLS-00730: collection element type does not allow modifications
-
Cause: The element type to modify is not one of VARCHAR2, NUMBER, or RAW.
- PLS-00731: ALTER TYPE is supported only on schema-level types
-
Cause: An attempt was made to alter a type that was not schema-level.
- PLS-00732: Illegal overload of ellipsis in formal parameter list
-
Cause: An ellipsis and a non-ellipsis type appeared at the same position in separate overload candidates. Currently, if ellipsis types are used they must appear in ALL overload candidates with the same name (regardless of the number or types of their formal parameters) at the same position in the formal parameter list.
- PLS-00733: RPCs to variable argument functions are not allowed
-
Cause: Attempted to call a vararg function (a function which contains ellipsis in the formal parameter list) as an RPC.
- PLS-00734: Illegal use of an associational parameter with a formal ellipsis
-
Cause: Attempted to use an associational actual argument for a formal ellipsis type argument.
- PLS-00735: Attempted to declare more than one formal ellipsis parameter
-
Cause: More than one ellipsis ('...') was found in a formal parameter specification for a function or procedure
- PLS-00736: user-declared operators are not allowed
-
Cause: An attempt was made by the user to declare an operator (a function whose name is enclosed in single quotes ("'")). Operators may only be declared in package STANDARD.
- PLS-00737: LIBRARY or ASSEMBLY file specification exceeds the maximum allowed length
-
Cause: A string of more than expected number of chararacters was found for the LIBRARY or ASSEMBLY file specification.
- PLS-00738: REF target string changed during compilation
-
Cause: The current unit contains a REF to a target object. During compilation, the REF's target object was simultaneously changed by a different session. The current unit is therefore invalid and needs to be recompiled to pick up the latest definition of the REF target.
- PLS-00739: FORALL INSERT/UPDATE/DELETE not supported on remote tables
-
Cause: The current statement refers to remote insert/update/delete for remote object.
- PLS-00740: ASSEMBLY identity specification exceeds the maximum allowed length
-
Cause: A string of more than expected number of chararacters was found for the ASSEMBLY identity specification.
- PLS-00741: string must be specified on subprogram string's declaration and definition
-
Cause: A property was specified on a subprogram's declaration but not on its definition or vice-versa.
- PLS-00742: field string is not yet denotable
-
Cause: When the fields of a record were declared, one field was used to initialize another, as in: TYPE my_rec IS RECORD (f1 varchar2(10), f2 varchar2(10) := f1); The first field has no value until run time, so it cannot be used to initialize another field.
- PLS-00743: ASSEMBLY IDENTITY string is null
-
Cause: The string provided for the identity clause of an ASSEMBLY was null.
- PLS-00744: DOTNET call specification methodname is null
-
Cause: The string provided for the METHODNAME clause of a DOTNET call specification was null.
- PLS-00745: ASSEMBLY CONTEXT string is null
-
Cause: The string provided for the CONTEXT clause of an ASSEMBLY was null.
- PLS-00746: ASSEMBLY AGENT string is null
-
Cause: The string provided for the AGENT clause of an ASSEMBLY was null.
- PLS-00747: .NET assemblies are not supported on this platform
-
Cause: .NET assemblies were not supported on this platform. .NET assemblies are only supported on 32-bit and 64-bit Windows.
- PLS-00748: compilation terminated due to other errors
-
Cause: Compilation of the library unit was terminated because of other reported errors.
- PLS-00751: cannot find PACKAGE SYS_STUB_FOR_PURITY_ANALYSIS
-
Cause: A top level subprogram (function or procedure) cannot be created if the system package SYS_STUB_FOR_PURITY_ANALYSIS is missing in the Oracle database.
- PLS-00752: Table function string is in an inconsistent state.
-
Cause: Some of the internally generated types prefixed with SYS_ have been dropped. These should never be dropped by the user.
- PLS-00753: malformed or corrupted wrapped unit
-
Cause: The format of the wrapped unit being compiled is not understood by the compiler. This may be because the unit was edited or modified after it was wrapped.
- PLS-00754: illegal reference to editioned object string
-
Cause: An attempt was made to violate the rule "A noneditioned object may not depend on an editioned object."
- PLS-00755: SYSAUX tablespace offline while saving identifier data
-
Cause: The SYSAUX tablespace was offline while attempting to save identifier data. Any identifier data previously collected and saved for the libunit will be invalid.
- PLS-00756: PL/SQL does not support feature "string" "string" in this environment
-
Cause: Some host environments of the PL/SQL compiler do not support the full range of PL/SQL features. A construct in the program violated one of the current host's restrictions.
- PLS-00757: only one column allowed for PARTITION BY VALUE clause
-
Cause: More than one column was specified for the PARTITION BY VALUE clause.
- PLS-00758: only a NUMBER column is allowed in this context
-
Cause: The partitioning column of the PARTITION BY VALUE clause was not a NUMBER column.
- PLS-00759: USING clause of a polymorphic table function must specify a package name
-
Cause: The type of the object named in the USING clause of a polymorphic table function was not a package
- PLS-00760: PARTITION BY, ORDER BY, CLUSTER BY, or PARALLEL_ENABLE are not allowed for polymorphic table functions
-
Cause: An attempt was made to use the PARTITION BY, ORDER BY, CLUSTER BY, DETERMINISTIC, AUTHID, or PARALLEL_ENABLE clause in a polymorphic table function.
- PLS-00761: Program unit collation may only be USING_NLS_COMP
-
Cause: The specified collation for the unit was not USING_NLS_COMP.
- PLS-00762: %%TYPE or %%ROWTYPE must have the USING_NLS_COMP collation
-
Cause: The columns referenced with %TYPE or %ROWTYPE did not have the USING_NLS_COMP collation.
- PLS-00763: bind variables must have the USING_NLS_COMP collation
-
Cause: Bind variables did not have the USING_NLS_COMP collation.
- PLS-00764: COLUMNS is not allowed as return type of polymorphic table functions
-
Cause: An attempt was made to use COLUMNS as a return type for polymorphic table function.
- PLS-00765: COLUMNS or TABLE is not allowed in this context
-
Cause: An attempt was made to use COLUMNS or TABLE as a type specification.
- PLS-00766: more than one parameter of TABLE type is not allowed
-
Cause: An attempt was made to use more than one argument with TABLE as the type specification.
- PLS-00767: polymorphic table function can only return TABLE type
-
Cause: An attempt was made to specify a type other than TABLE type as the return type specification.
- PLS-00768: Formal parameters of type TABLE may not have default value.
-
Cause: A default value was specified for a formal paramaeter of type TABLE in a polymorphic table function specification.
- PLS-00769: Formal parameters of type COLUMNS may only have a NULL default value.
-
Cause: A non-NULL default value was specified for a formal parameter of type COLUMNS in a polymorphic table function.
- PLS-00770: Library unit is marked as being of unsupported version string (piece string).
-
Cause: A library unit was read with an unsupported version.
- PLS-00771: PERSISTABLE or NOT PERSISTABLE not permitted in methods
-
Cause: PERSISTABLE or NOT PERSISTABLE is only used for program unit. It can not be used for methods.
- PLS-00772: PERSISTABLE or NOT PERSISTABLE not permitted with UNDER clause
-
Cause: Subtypes can not have PERSISTABLE or NOT PERSISTABLE. The subtypes inherit [NOT] PERSITABLE from supertypes.
- PLS-00773: Table function must have at least one argument of TABLE type.
-
Cause: Row or table polymorphic table functions did not have at least one argument of TABLE type.
- PLS-00774: Table function may not have argument of TABLE type.
-
Cause: Leaf polymorphic table functions had an argument of TABLE type.
- PLS-00775: cursors cannot reference types defined in the same package
-
Cause: A cursor declared in a package specification was referencing a record or a collection type defined in the same package.
- PLS-00801: internal error [string]
-
Cause: This is a generic internal error that might occur during compilation or execution. The first parameter is the internal error number.
- PLS-00900: can't find body of unit 'string'
-
Cause: At run time, the body of a program unit could not be found. This can happen for one of two reasons. -- First, there may be a unit 'a' which calls a module 'b', where the spec for 'b' exists but not the body. In this case, since the spec is present, there will be no compile-time errors. -- Secondly, this can occur if there is a reference to a sequence outside of the proper context such as a SQL statement. In this case, the "spec" of the sequence reference can be found, but it is invalid to actually run code which references the sequence outside a SQL statement, as in: i := seq.nextval;
- PLS-00901: the data type of column 'string' of table 'string' is not supported
-
Cause: A column in a database table belongs to a datatype that is not supported by the current release of PL/SQL.
- PLS-00902: A READ-ONLY bind variable used in OUT or IN-OUT context
-
Cause: A host variable that is protected from update was used in a context that allows an update.
- PLS-00904: insufficient privilege to access object string
-
Cause: An attempt was made to operate on a database object without the required privilege. For example, this error occurs if an attempt was made to UPDATE a table for which only SELECT privileges were granted, or the database object's ACCESSIBLE BY clause prohibits the attempted compilation.
- PLS-00905: object string is invalid
-
Cause: An invalid package specification or stored subprogram was referenced. A package specification or stored subprogram is invalid if its source code or any database object it references has been DROPped, REPLACEd, or ALTERed since it was last compiled.
- PLS-00906: Compilation is not possible
-
Cause: The PL/SQL compiler cannot run properly because its operating environment is corrupted. For example, its error message file might be inaccessible.
- PLS-00907: cannot load library unit string (referenced by string)
-
Cause: PL/SQL is unable to find and load a library unit that was previously available. This typically happens when you try to load a unit which references another library unit that is non-existent or invalid.
- PLS-00908: The stored format of string is not supported by this release
-
Cause: PL/SQL cannot understand the stored format of a library unit. It has been compiled or shrink-wrapped with a version of PL/SQL either too new or too old for this version to understand it.
- PLS-00909: object string is not declared or insufficient privileges to access object string
-
Cause: An object from the operator declaration is not declared, or it is declared but there is no sufficient privileges to access that object.
- PLS-00910: insufficient privilege to inherit from type string
-
Cause: An attempt was made to inherit from a type without the required UNDER privilege.
- PLS-00920: parameter plsql_native_library_dir is not set
-
Cause: A PL/SQL program is being compiled natively, but the compiler parameter plsql_native_library_dir, which denotes the directory to store the native shared objects (DLL), is not set.
- PLS-00923: native compilation failed: string:string
-
Cause: The native compilation of PL/SQL program has failed because the native shared object (DLL) could not be created successfully.
- PLS-00924: native compilation is not supported on this platform
-
Cause: Native compilation of PL/SQL programs is not supported on this platform.
- PLS-00925: native compilation failed: Unable to create file (string string)
-
Cause: Native compilation of a PL/SQL program failed because a file could not be created. It is likely that the system parameter plsql_native_library_dir does not reference a writable, existing directory
- PLS-00950: In this version, PL/SQL tables can not be used in this SQL statement.
-
Cause: In a SQL statement, a PL/SQL table was referenced incorrectly. For example, the following reference might have been made, but PL/SQL table attributes can only be used in procedural statements: SELECT ename_tab.COUNT INTO name_count WHERE ...
- PLS-00951: string Feature is not supported by this release
-
Cause: PL/SQL cannot understand something in an imported library unit. It uses some feature either too new or too old for this version to understand it.
- PLS-00960: RPCs cannot use parameters with schema-level object types in this release
-
Cause: Schema-level object types, or types which recursively use such types, were used in an RPC, which is not permitted. For example: create type foo as object (...) create package my_pack is type my_rec is record(v foo); -- on a remote server: x my_pack.my_rec@rpc; -- illegal attempt to use type my_rec
- PLS-00970: The class name of a method must match that of EXTERNAL NAME clause in the type header
-
Cause: The class name defined as part of the method signature does not match the one defined in the type header in the EXTERNAL NAME clause. create type foo as object EXTERNAL NAME 'foo' LANGUAGE JAVA (... MEMBER FUNCTION my (number) return number EXTERNAL NAME 'bar.func(oracle.sql.NUMBER) return oracle.sql.NUMBER', .. );
- PLS-00989: Cursor Variable in record, object, or collection is not supported by this release
-
Cause: 3.0 Implementation Restriction for Ref Cursors
- PLS-00990: Index Tables of Cursor Variables are disallowed
-
Cause: 2.2 Implementation Restriction for Ref Cursors
- PLS-00992: Cursor Variables cannot be FETCH'ed from
-
Cause: 2.2 Implementation Restriction for Ref Cursors
- PLS-00993: Cursor variables cannot be passed as forwarded RPC arguments or results
-
Cause: An attempt was made to pass a cursor variable to or from a remote subprogram by way of a forwarded RPC, which is not allowed. For example, from a client-side tool, a procedure on a remote database cannot be used to open a cursor variable because remote subprograms cannot return the values of cursor variables.
- PLS-00994: Cursor Variables cannot be declared as part of a package
-
Cause: An attempt was made to declare a cursor variable in a package specification, which is not allowed. Although REF CURSOR types can be defined in a PL/SQL block, subprogram, or package, cursor variables can be declared only in a block or subprogram.
- PLS-00995: unhandled exception # string
-
Cause: An exception was raised for which no handler was found. If it cannot find a handler for a raised exception, PL/SQL returns an unhandled exception to the host environment. The number embedded in the message is an Oracle error code listed in this manual.
- PLS-00996: out of memory
-
Cause: A request from PL/SQL for more memory failed.
- PLS-00997: no cursor return types allowed in this beta version
-
Cause: Cursor return types have bugs, and it is best to disable them for now.
- PLS-00998: implementation restriction (may be temporary)
-
- PLS-00999: implementation restriction (may be temporary) string
-
- PLS-01400: Use of '||' token
-
Cause: Use of '||' token in expressions is not in ANSI's grammar. This corresponds to the "binary_add_op"'s reduction to a "CAT_" in plsql.y
- PLS-01401: Identifier over 18 characters long
-
Cause: Identifiers over 18 characters long are not allowed under the ANSI grammar.
- PLS-01402: Use of quoted identifier
-
Cause: The use of quoted identifiers is a PL/SQL extension and is not allowed under the ANSI grammar.
- PLS-01403: Comment delimiters /* */
-
Cause: C-style comments (introduced with the '/' and '*' characters) are not part of the ANSI grammar. To conform with ANSI, comments must be preceded by the ANSI comment introducer, '--' , and must not contain a newline. If someone can figure out a way to make this message look less cheesy without ending up with nested comments, be my guest.
- PLS-01404: ANSI Identifiers can only consist of letters, digits, and the underscore character
-
Cause: ANSI identifiers can only consist of letters, digits, and the underscore character. PL/SQL allows "#" and "$" in identifiers, but these are not ANSI.
- PLS-01405: Under ANSI's grammar, numeric data represented in exponent notationmust use an uppercase E
-
Cause: Under ANSI's grammar, numeric data represented in exponent notation must use an uppercase "E". Example: 3.45E-6 is ANSI, but 3.45e-6 is not.
- PLS-01406: An identifier has been found that is considered a keyword in ANSI's grammar but not in PL/SQL's
-
Cause: An identifier has been found that is considered a keyword in ANSI's grammar but not in PL/SQL's.
- PLS-01407: One of the identifiers CHAR, CHARACTER, or INTEGER has been redefined by the programmer
-
Cause: One of the identifiers "CHAR", "CHARACTER", or "INTEGER" (all ansi keywords) has been redefined by the programmer.(special case of 1406, above).
- PLS-01408: Use of '&' token
-
Cause: Use of '&' token in expressions is not in ANSI's grammar.
- PLS-01409: Use of 'PRIOR_' token
-
Cause: Use of 'PRIOR_' token in expressions is not in ANSI's grammar.
- PLS-01410: Use of 'MOD' token
-
Cause: Use of 'MOD' token in expressions is not in ANSI's grammar.
- PLS-01411: Use of 'REM' token
-
Cause: Use of 'REM' token in expressions is not in ANSI's grammar.
- PLS-01412: Use of 'EXP' token
-
Cause: Use of 'EXP' token in expressions is not in ANSI's grammar.
- PLS-01413: Use of NULL an expression
-
Cause: Use of NULL an expression not in ANSI's grammar.
- PLS-01414: Use of qualified expression here
-
Cause: Use of qualified expression here is not in ANSI's grammar.
- PLS-01415: Use of aggregate value here
-
Cause: Use of aggregate value here is not in ANSI's grammar.
- PLS-01416: Use of id (value...) here
-
Cause: Use of id (value...) here is not in ANSI's grammar.
- PLS-01417: Use of %%attribute
-
Cause: Use of %%attribute value here is not in ANSI's grammar.
- PLS-01418: Subquery cannot include set operators in ANSI's grammar
-
Cause: Subquery cannot include set operators in ANSI's grammar.
- PLS-01419: Subquery must have either '*' or exactly one column in its select list
-
Cause: Subquery must have either '*' or exactly one column in its select list according to ANSI's grammar.
- PLS-01420: INTERSECT and MINUS set operators are not ANSI
-
Cause: INTERSECT and MINUS set operators are not ANSI
- PLS-01421: FOR UPDATE clause
-
Cause: FOR UPDATE clause is not in ANSI's grammar.
- PLS-01422: Aliases
-
Cause: Aliases are not in ANSI's grammar.
- PLS-01423: Subquery on right-hand-side in set clause
-
Cause: Subquery on right-hand-side in set clause is not in ANSI's grammar.
- PLS-01424: Non-ANSI order of clauses
-
Cause: ANSI specifies an ordering to clauses in a table-expression which PL/SQL doesn't. The ordering according to ANSI must be: (1) from clause (2) where clause (3) group-by clause (4) having clause In PL/SQL, the from clause must come first, and the clauses after it can appear in any order (with the addition of the non-ansi connect-by clause).
- PLS-01425: Connect-by clause
-
Cause: ANSI doesn't allow connect-by clauses.
- PLS-01450: This value expression contains a nonconforming data type
-
Cause: This value expression contains a nonconforming data type. Section 4.2 of X3H2, "Data types" states that: "A nonnull value is either a character string or a number." Many builtin functions in STANDARD will be flagged with this warning by means of a pragma.
- PLS-01451: The data types of these value expressions must be comparable
-
Cause: The data types of these value expressions must be comparable. Section 4.2 of X3H2, "Data types", states that: "A character string and a number are not comparable values." Many builtin functions in STANDARD will be flagged with this warning by means of a pragma. This warning will be place on data-type coercion functions, for example, TO_CHAR(number), that are inserted in OracleSQL to allow non-conforming data type combinations.
- PLS-01452: This function is not part of the ANSI standard
-
Cause: This function is not part of the ANSI standard. This warning is used to flag such functions as "POWER" that are not mentioned in the ANSI specifications.
- PLS-01453: This procedure is not part of the ANSI standard
-
Cause: This procedure is not part of the ANSI standard. This warning is used to flag such procedures as "STOP" that are not mentioned in the ANSI specifications.
- PLS-01454: No operator may be used with values of data type CHAR
-
Cause: No operator may be used with values of data type "character string". Section 5.9, "value expression", syntax rule 3, of X3H2 states: "If the data type of a primary is character string, then the value expression shall not include any operators." This warning is placed on many functions in STDBASE that take CHAR args.
- PLS-01455: The predicates IS NULL and IS NOT NULL are defined only for column specifications
-
Cause: The predicates "IS NULL" and "IS NOT NULL" are defined only for column specifications, not for any other expressions. Section 5.15, "null predicate", indicates that in the predicate "x IS NULL", x must be a column, and may not be any other kind of expression.
- PLS-01456: Name length cannot exceed 3.
-
- PLS-01458: The set clause in an UPDATE statement requires a column name of length 1
-
Cause: The set clause in an UPDATE statement requires a column name of length 1. Sect. 8.11, 8.12
- PLS-01460: Cannot access object on a remote host
-
Cause: Cannot access object on a remote host.
- PLS-01463: STDDEV is not a standard set function
-
Cause: STDDEV is not a standard set function.
- PLS-01464: VARIANCE is not a standard set function
-
Cause: VARIANCE is not a standard set function.
- PLS-01466: Null strings are not allowed
-
Cause: Null strings are not allowed.
- PLS-01467: The value list of the IN predicate, if not a subquery, must contain only value_specifications
-
Cause: The value list of the IN predicate, if not a subquery, must contain only value_specifications (i.e. literals and PL/SQL or embedded variables).
- PLS-01468: The first argument of the like-predicate must be a column of type character string
-
Cause: The first argument of the like-predicate must be a column of type character string.
- PLS-01469: ANSI standard does not permit records
-
Cause: ANSI standard does not permit records.
- PLS-01470: The escape character in the like-predicate must be a literal or a variable of type CHAR
-
Cause: The escape character in the like-predicate must be a literal or a variable of type character.
- PLS-01471: The keyword DISTINCT must be present in a COUNT(DISTINCT sim_expr)
-
Cause: The keyword DISTINCT must be present in a COUNT(DISTINCT sim_expr). Sect 5.8
- PLS-01472: In a set_function_specification, if DISTINCT is present, the expression must be a column_specification
-
Cause: In a set_function_specification, if DISTINCT is present, the expression must be a column_specification.
- PLS-01473: Use instead of != or ~=
-
Cause: Use instead of != or ~=. Sect 5.11.
- PLS-01474: Use of ANY is non_ANSI
-
Cause: Due to the combining of comparison_predicate and quantified_predicate, we may have something like sim_expr = ANY_ sim_expr, which is nonetheless accepted by kernel.
- PLS-01500: Unions are not allowed in the definition of a view
-
Cause: Unions are not allowed in the definition of a view. Sect. 6.9
- PLS-01501: Options in CREATE TABLE statement is non-ANSI.
-
Cause: CREATE TABLE allows only the definition of the structure of a table. None of the .SPACE__name. .PCTFREE__numeric_literal. .cluster. is ANSI. Sect. 6.2
- PLS-01502: Constraint name and constraint status are non-ANSI.
-
Cause: Constraint name and constraint status are non-ANSI. Sect. 6.3
- PLS-01503: The expression in a SET clause must not include a set function
-
Cause: The expression in a SET clause must not include a set function. Sect. 8.12.
- PLS-01504: Use of AS phase in CREATE TABLE statement is non_ANSI
-
Cause: CREATE TABLE allows only the definition of the structure of a table. Use of AS phase in CREATE TABLE statement is non-ANSI.
- PLS-01505: ALTER is non-ANSI
-
Cause: ALTER is non-ANSI
- PLS-01506: CREATE INDEX is non-ANSI
-
Cause: CREATE INDEX is non-ANSI
- PLS-01507: DROP is non-ANSI
-
Cause: DROP is non-ANSI
- PLS-01701: Illegal syntax in ROLLBACK WORK statement
-
Cause: Illegal syntax in ROLLBACK WORK statement.
- PLS-01702: Illegal syntax in COMMIT WORK statement
-
Cause: Illegal syntax in COMMIT WORK statement.
- PLS-01703: Cursor name in CLOSE statment must be of length 1
-
Cause: Cursor name in CLOSE statment must be of length 1.
- PLS-01704: The expressions in a sort clause must be column specs or unsigned integers, with optional ASC or DESC
-
Cause: The expressions in a sort clause may only be column specifications or unsigned integers, followed by optional ASC or DESC.
- PLS-01705: table specified by a cursor not updatable if cursor specification has a UNION or ORDER_BY
-
Cause: Missing keyword FROM.
- PLS-01707: In positioned DELETE or UPDATE statement, table must be identified in specification of cursor
-
Cause: In a positioned DELETE or UPDATE statement, the table deleted fromor updated must be identified in the specifictation of the cursor.
- PLS-01708: In searched DELETE, UPDATE or INSERT, table must not appear in FROM clause of subqueries in search condition
-
Cause: In a searched DELETE, UPDATE or INSERT statement, the table affected must not appear in a FROM clause in any of the subqueries in the search condition.
- PLS-01709: value list of INSERT statement, if specified with value list rather than subquery, must be value specification
-
Cause: In an INSERT statement, the insert value list, if specified with a value list rather than a subquery, must be value specifications, i.e. no compound expressions or column references. Sect 8.7.
- PLS-01710: In a positioned DELETE or UPDATE statement, the cursor name must be of length 1
-
Cause: In a positioned DELETE or UPDATE statement, the cursor name must be of length 1.
- PLS-01711: A SELECT statement may not contain ORDER_BY, HAVING, or GROUP_BY clause
-
Cause: A SELECT statement may not contain ORDER_BY, HAVING, or GROUP_BY clause. Sect. 8.10.
- PLS-01712: ANSI does not allow bind variables as INDICATORS
-
Cause: ANSI does not allow bind variables as INDICATORS
- PLS-01713: The constraints on these types do not match
-
Cause: The constraints on these types do not match
- PLS-01714: ANSI expects a column name not a literal value here
-
Cause: ANSI expects a column name not a literal value here
- PLS-01715: ANSI does not accept SAVEPOINTs
-
- PLS-01900: : character to number conversion error
-
Cause: There was a failure while converting a character string into a numeric value.
- PLS-01901: : host bind array too small
-
Cause: PL/SQL was unable to transfer data into a host array because the array is too small.
- PLS-01902: : hex to raw conversion error
-
Cause: There was a failure while converting a hexadecimal string to a raw.
- PLS-01903: : non-integer error number
-
Cause: SQLERRM() was called with a non-integer value.
- PLS-01904: : NULL index table key value
-
Cause: An attempt was made to index into an index table with a NULL key value.
- PLS-01905: : character string buffer too small
-
Cause: An error was encountered while moving a character string from a source to a destination. This error occurs if, for example, an attempt is made to move a a character string of 10 characters into a 1 character buffer. The cause of this error may not always be obvious. For example, the following will result in this error: a varchar2(1); b number; b := 10; a := b; An error results because an implicit conversion causes the number 10 to become the character string '10', which does not fit in the character buffer of 1 allocated for the variable a.
- PLS-01906: : raw variable length too long
-
Cause: The length of a raw variable being copied or assigned was too long to fit into its destination.
- PLS-01907: : number precision too large
-
Cause: The number begin copied or assigned had too many digits to the left of the decimal and did not fit into its destination. In other words, there is a number precision mismatch. This error may also occur if, for example, an attempt is made to assign a character string to a number, as demonstrated below. a varchar2(4); b number(1,1); a := '10.1'; b := a;
- PLS-01908: : RETURNING INTO buffer too small
-
Cause: PL/SQL determined that a server side DML with a RETURNING INTO clause does not use a buffer that is large enough to hold the data being returned.
- PLS-01909: : cannot assign supertype instance to subtype
-
Cause: An attempt was made to assign or copy a supertype instance to a container (destination) that can only hold a subtype instance.
- PLS-01910: : associative array shape is not consistent with session parameters
-
Cause: NLS parameters affecting comparison of keys have been altered dynamically. The associative array's index is invalid.
- PLS-01911: : associative array key violates its type constraints
-
Cause: The key value of an element being inserted into an associative array violates the the key type constraints.
- PLS-01912: : instance must of be of type 'string'
-
Cause: The run-time type of the instance is not the declared type. e.g. If the return value of a user defined constructor is wrong.
- PLS-01913: : instance must of be of type 'string' or one of its subtypes
-
Cause: The run-time type of the instance is the not declared type or one of its subtypes. e.g. TREAT(supertype AS subtype) fails.
- PLS-01914: duplicate SECURITY specification in subprogram expression
-
Cause: The subprogram was found to have two SECURITY specifications.
- PLS-01915: duplicate ASSEMBLY specification in subprogram expression
-
Cause: The subprogram was found to have two ASSEMBLY specifications.
- PLS-01916: SECURITY level specification exceeds ASSEMBLY SECURITY specification
-
Cause: The security level specified in the callspec exceeds the maximum security level allowed by the assembly.
- PLS-01917: illegal reference to package STANDARD item 'string'
-
Cause: The item is intended for internal use and must not be referred to in user code.
- PLS-01918: 9.2 and earlier wrap formats are not permitted
-
Cause: An attempt was made to compile a unit that was wrapped using 9.2 or earlier version of the wrap utility. Wrapped source created by 9.2 and earlier versions of wrap is not permitted on this database.
- PLS-01919: LIBRARY object does not use a DIRECTORY object
-
Cause: The LIBRARY objects did not use a DIRECTORY object for the pluggable database (PDB) with a defined PATH_PREFIX.