| PLS-01400 | 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 |
| Action | none |
| PLS-01401 | PLS-01401: Identifier over 18 characters long |
| Cause | Identifiers over 18 characters long are not allowed under the ANSI grammar. |
| Action | none |
| PLS-01402 | 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. |
| Action | none |
| PLS-01403 | 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. |
| Action | none |
| PLS-01404 | 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. |
| Action | none |
| PLS-01405 | 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. |
| Action | none |
| PLS-01406 | 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. |
| Action | none |
| PLS-01407 | 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). |
| Action | none |
| PLS-01408 | PLS-01408: Use of "&" token |
| Cause | Use of "&" token in expressions is not in ANSI"s grammar. |
| Action | none |
| PLS-01409 | PLS-01409: Use of "PRIOR_" token |
| Cause | Use of "PRIOR_" token in expressions is not in ANSI"s grammar. |
| Action | none |
| PLS-01410 | PLS-01410: Use of "MOD" token |
| Cause | Use of "MOD" token in expressions is not in ANSI"s grammar. |
| Action | none |
| PLS-01411 | PLS-01411: Use of "REM" token |
| Cause | Use of "REM" token in expressions is not in ANSI"s grammar. |
| Action | none |
| PLS-01412 | PLS-01412: Use of "EXP" token |
| Cause | Use of "EXP" token in expressions is not in ANSI"s grammar. |
| Action | none |
| PLS-01413 | PLS-01413: Use of NULL an expression |
| Cause | Use of NULL an expression not in ANSI"s grammar. |
| Action | none |
| PLS-01414 | PLS-01414: Use of qualified expression here |
| Cause | Use of qualified expression here is not in ANSI"s grammar. |
| Action | none |
| PLS-01415 | PLS-01415: Use of aggregate value here |
| Cause | Use of aggregate value here is not in ANSI"s grammar. |
| Action | none |
| PLS-01416 | PLS-01416: Use of 'id' ('value'...) here |
| Cause | Use of 'id' ('value'...) here is not in ANSI"s grammar. |
| Action | none |
| PLS-01417 | PLS-01417: Use of %%attribute |
| Cause | Use of %%attribute value here is not in ANSI"s grammar. |
| Action | none |
| PLS-01418 | PLS-01418: Subquery cannot include set operators in ANSI"s grammar |
| Cause | Subquery cannot include set operators in ANSI"s grammar. |
| Action | none |
| PLS-01419 | 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. |
| Action | none |
| PLS-01420 | PLS-01420: INTERSECT and MINUS set operators are not ANSI |
| Cause | INTERSECT and MINUS set operators are not ANSI |
| Action | none |
| PLS-01421 | PLS-01421: FOR UPDATE clause |
| Cause | FOR UPDATE clause is not in ANSI"s grammar. |
| Action | none |
| PLS-01422 | PLS-01422: Aliases |
| Cause | Aliases are not in ANSI"s grammar. |
| Action | none |
| PLS-01423 | 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. |
| Action | none |
| PLS-01424 | 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). |
| Action | none |
| PLS-01425 | PLS-01425: Connect-by clause |
| Cause | ANSI doesn"t allow connect-by clauses. |
| Action | none |
| PLS-01450 | 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. |
| Action | none |
| PLS-01451 | 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. |
| Action | none |
| PLS-01452 | 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. |
| Action | none |
| PLS-01453 | 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. |
| Action | none |
| PLS-01454 | 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. |
| Action | none |
| PLS-01455 | 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. |
| Action | none |
| PLS-01458 | 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 |
| Action | none |
| PLS-01460 | PLS-01460: Cannot access object on a remote host |
| Cause | Cannot access object on a remote host. |
| Action | none |
| PLS-01463 | PLS-01463: STDDEV is not a standard set function |
| Cause | STDDEV is not a standard set function. |
| Action | none |
| PLS-01464 | PLS-01464: VARIANCE is not a standard set function |
| Cause | VARIANCE is not a standard set function. |
| Action | none |
| PLS-01466 | PLS-01466: Null strings are not allowed |
| Cause | Null strings are not allowed. |
| Action | none |
| PLS-01467 | 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). |
| Action | none |
| PLS-01468 | 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. |
| Action | none |
| PLS-01469 | PLS-01469: ANSI standard does not permit records |
| Cause | ANSI standard does not permit records. |
| Action | none |
| PLS-01470 | 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. |
| Action | none |
| PLS-01471 | 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 |
| Action | none |
| PLS-01472 | 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. |
| Action | none |
| PLS-01473 | PLS-01473: Use different instead of != or ~= |
| Cause | Use different instead of != or ~=. Sect 5.11. |
| Action | none |
| PLS-01474 | 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. |
| Action | none |
| PLS-01500 | 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 |
| Action | none |
| PLS-01501 | 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 |
| Action | none |
| PLS-01502 | PLS-01502: Constraint name and constraint status are non-ANSI. |
| Cause | Constraint name and constraint status are non-ANSI. Sect. 6.3 |
| Action | none |
| PLS-01503 | 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. |
| Action | none |
| PLS-01504 | 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. |
| Action | none |
| PLS-01505 | PLS-01505: ALTER is non-ANSI |
| Cause | ALTER is non-ANSI |
| Action | none |
| PLS-01506 | PLS-01506: CREATE INDEX is non-ANSI |
| Cause | CREATE INDEX is non-ANSI |
| Action | none |
| PLS-01507 | PLS-01507: DROP is non-ANSI |
| Cause | DROP is non-ANSI |
| Action | Sect. 6.2 |
| PLS-01701 | PLS-01701: Illegal syntax in ROLLBACK WORK statement |
| Cause | Illegal syntax in ROLLBACK WORK statement. |
| Action | none |
| PLS-01702 | PLS-01702: Illegal syntax in COMMIT WORK statement |
| Cause | Illegal syntax in COMMIT WORK statement. |
| Action | none |
| PLS-01703 | PLS-01703: Cursor name in CLOSE statment must be of length 1 |
| Cause | Cursor name in CLOSE statment must be of length 1. |
| Action | none |
| PLS-01704 | 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. |
| Action | none |
| PLS-01705 | PLS-01705: table specified by a cursor not updatable if cursor specification has a UNION or ORDER_BY |
| Cause | Missing keyword FROM. |
| Action | none |
| PLS-01707 | 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. |
| Action | none |
| PLS-01708 | 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. |
| Action | none |
| PLS-01709 | 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. |
| Action | none |
| PLS-01710 | 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. |
| Action | none |
| PLS-01711 | 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. |
| Action | none |
| PLS-01712 | PLS-01712: ANSI does not allow bind variables as INDICATORS |
| Cause | ANSI does not allow bind variables as INDICATORS |
| Action | none |
| PLS-01713 | PLS-01713: The constraints on these types do not match |
| Cause | The constraints on these types do not match |
| Action | none |
| PLS-01714 | PLS-01714: ANSI expects a column name not a literal value here |
| Cause | ANSI expects a column name not a literal value here |
| Action | none |
| PLS-01900 | PLS-01900: : character to number conversion error |
| Cause | There was a failure while converting a character string into a numeric value. |
| Action | Verify that all character strings assigned to number variables have valid numeric value interpretations. |
| PLS-01901 | 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. |
| Action | Increase the size of the host array. |
| PLS-01902 | PLS-01902: : hex to raw conversion error |
| Cause | There was a failure while converting a hexadecimal string to a raw. |
| Action | Verify that the hexadecimal variable to be converted contains a valid hexadecimal value. |
| PLS-01903 | PLS-01903: : non-integer error number |
| Cause | SQLERRM() was called with a non-integer value. |
| Action | Make sure SQLERRM() is called with an integer value. |
| PLS-01904 | PLS-01904: : NULL index table key value |
| Cause | An attempt was made to index into an index table with a NULL key value. |
| Action | Make sure key values used to index into index tables are non-NULL. |
| PLS-01905 | 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. |
| Action | First, look for character string assignment statements where the buffer size is mismatched. If there are none found, then consider the implicit conversion case illustrated in the example above. |
| PLS-01906 | 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. |
| Action | Make sure the raw variable length is correct. |
| PLS-01907 | 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; |
| Action | First, check explicit number precision value mismatches. If none are found, then consider implicit conversions of other types to numbers, including conversions performed during binds. |
| PLS-01908 | 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. |
| Action | Increase the size of the RETURNING INTO clause buffer. |
| PLS-01909 | 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. |
| Action | Make sure the runtime type of the source of the assignment or copy is the same type as the destination or is a subtype of the destination type |
| PLS-01910 | 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. |
| Action | Avoid using associative arrays with string keys in applications which require frequent changes of NLS_COMP and/or NLS_SORT. |
| PLS-01911 | 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. |
| Action | Relax the constraints if the key value is meant to be acceptable. Otherwise, apply a valid key value when inserting an element. |
| PLS-01912 | 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. |
| Action | Return the correct type. |
| PLS-01913 | 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. |
| Action | Catch the exception. |