104 PLW-05000 to PLW-07207
- PLW-05000: mismatch in NOCOPY qualification between specification and body
-
Cause: The indicated parameter was declared with the NOCOPY hint in the subprogram specification but not in the body, or it was declared with the NOCOPY hint in the body but not in the specification.
- PLW-05001: previous use of 'string' (at line string) conflicts with this use
-
Cause: While looking for prior declarations of a variable, constant, or label, the compiler found another declaration with the same name in the same scope. Or, the headers of subprogram in a package specification and body were not identical.
- PLW-05003: same actual parameter(string and string) at IN and NOCOPY may have side effects
-
Cause: The indicated parameter was declared with the NOCOPY hint in the subprogram specification but not in the body, or it was declared with the NOCOPY hint in the body but not in the specification.
- PLW-05004: identifier string is also declared in STANDARD or is a SQL builtin
-
Cause: The indicated identifier was also either: o) declared in package STANDARD, or o) a SQL builtin function, or o) a pseudo-column. This situation can result in name resolution issues since the STANDARD/builtin declaration will be chosen over the local declaration in SQL statements; however the local declaration will be chosen over the STANDARD/builtin declaration outside SQL scope. (See the documentation on PL/SQL name resolution.)
- PLW-05005: subprogram string returns without value at line string
-
Cause: A function terminated without a return value. RETURN statements with values are required for all PL/SQL functions.
- PLW-05006: shadow type generation resulted in warning: string
-
Cause: Compilation of a table function causes the creation of internally- generated types. A problem occurred during creation of these types which was not severe enough to prevent the creation of the types, but which may impact the usage of the table function. See the accompanying error message for more information.
- PLW-05007: first parameter to pragma INLINE must be an identifier
-
Cause: The first parameter to the pragma INLINE must be an identifier denoting a procedure or function.
- PLW-05008: 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).
- PLW-05009: pragma INLINE may not appear in a declaration list
-
Cause: Pragma INLINE applies only to the following statement, and can not appear immediately prior to a declaration
- PLW-05010: duplicate pragma INLINE on procedure 'string'
-
Cause: Pragma INLINE was applied twice to the same procedure in the same statement. The procedure will be inlined only if all duplicates specify a control value of 'YES'
- PLW-05011: pragma INLINE for procedure 'string' does not apply to any calls
-
Cause: A pragma INLINE was provided, but there was no call to the mentioned procedure in the next statement.
- PLW-05012: pragma INLINE for procedure 'string' could not be applied
-
Cause: A pragma INLINE(name, 'yes') was used, but the named procedure could not be inlined.
- PLW-05013: second parameter to pragma INLINE 'string' is not 'YES' or 'NO'
-
Cause: The second parameter to the pragma INLINE governs whether or not a procedure call can be inlined. The only legal values are 'YES', meaning that the compiler should attempt to inline the call, and 'NO', meaning that the compiler must not inline the call.
- PLW-05014: Pragma string cannot be specified here
-
Cause: The pragma was specified in an inappropriate context.
- PLW-05015: implementation restriction - too many debug records
-
Cause: The program is so large that it overflowed a compiler limit on the size of the debug symbol table. The module was compiled with partial debugging information.
- PLW-05016: INTO clause should not be specified here
-
Cause: The INTO clause was incorrectly specified on a cursor declaration. It should have been specified on the FETCH statement.
- PLW-05017: prefix of the expression will be ignored
-
Cause: Generalized invocation with explicit SELF and a dotted name was used to call the type method causing the prefix of the dotted name to be ignored.
- PLW-05018: unit string omitted optional AUTHID clause; default value DEFINER used
-
Cause: The AUTHID clause is missing. The unit is allowed to have an AUTHID clause. If the clause is missing, DEFINER's rights are used by default. Good practice suggests that an explicit AUTHID clause should always be used.
- PLW-05019: the language element near keyword string is deprecated beginning with version string
-
Cause: A deprecated language element was used. The particular language element is deprecated in PL/SQL versions greater than or equal to the version number given in the message text.
- PLW-05020: parameter name must be an identifier
-
Cause: A string literal was used as the parameter name in a call that used named notation.
- PLW-05021: exception string does not have a pragma EXCEPTION_INIT
-
Cause: A user-defined exception was declared but it was not given an exception number by the pragma EXCEPTION_INIT. Good practice suggests that all user-defined exceptions should be explicitly numbered.
- PLW-05022: argument 'string' is not comparable
-
Cause: An argument to either IN, BETWEEN or MEMBER OF was not of a comparable type. Or, if the argument was of an object type, no MAP or ORDER method was specified for the type.
- PLW-05023: PL/Scope is disabled because SYSAUX is offline.
-
Cause: PL/Scope was disabled for the current PL/SQL unit compilation because the SYSAUX tablespace is or was offline at the time of compilation. Note that PL/Scope stores identified metadata in the SYSAUX tablespace, and thus cannot function when SYSAUX is offline.
- PLW-05024: Do not use BULK COLLECT clause in a cursor declaration
-
Cause: A BULK COLLECT clause was specified in a cursor declaration.
- PLW-05025: Do not refer to formal parameter string from this same subprogram declaration.
-
Cause: The default expression of a formal parameter referred to another formal parameter from the same subprogram declaration. This is only permitted in a formal%CHARSET expression.
- PLW-05026: Identifier 'string' should not be specified on the END statement for an unlabeled construct.
-
Cause: There was either a missing semicolon on the END statement or no label was specified on the construct. The END statements which terminate some language constructs (such as loop, block, if and case) may optionally be qualified with the label of that construct. For example, the loop construct <L> LOOP loop-body may be completed with END LOOP L.
- PLW-05027: END statement identifier 'string' should match label 'string' at line string, column string.
-
Cause: There was either a missing semicolon on the END statement or the name following the END statement was misspelled. The END statements which terminate some language constructs (such as loop, block, if and case) may optionally be qualified with the label of that construct. For example, the loop construct <L> LOOP loop-body may be completed with END LOOP L.
- PLW-05028: END statement identifier 'string' should match the name of TRIGGER 'string'.
-
Cause: The name on the END statement completing a TRIGGER definition was misspelled.
- PLW-05029: This statement has more than one label specified for it.
-
Cause: More than one label was specified for a statement. This can lead to confusion when reading or updating code.
- PLW-05999: implementation restriction (may be temporary) string
-
- PLW-06002: Unreachable code
-
Cause: Static program analysis determined that some code on the specified line would never be reached during execution. This may have been caused by expression evaluation at compile time.
- PLW-06003: unknown inquiry directive 'string'
-
Cause: An unknown inquiry directive was used. The inquiry directive is neither predefined nor user-defined.
- PLW-06004: inlining of call of procedure 'string' requested
-
Cause: A pragma INLINE(, 'YES') referring to the named procedure was found. The compiler will, if possible, inline this call.
- PLW-06005: inlining of call of procedure 'string' was done
-
Cause: A call to the procedure was inlined.
- PLW-06006: uncalled procedure "string" is removed.
-
Cause: Static program analysis determined that the procedure can never be called or executed. Therefore, it has been removed to save time during compilation and space during execution.
- PLW-06007: procedure "string" is removed because optimization removed calls
-
Cause: Static program analysis determined that the procedure can never be called or executed. Therefore, it has been removed to save time during compilation and space during execution.
- PLW-06008: call of procedure 'string' will not be inlined
-
Cause: A pragma INLINE(, 'NO') referring to the named procedure was found. The compiler is prevented from inlining this call.
- PLW-06009: procedure "string" OTHERS handler does not end in RAISE
-
Cause: The OTHERS handler exited without executing a RAISE or a call to a procedure that was marked with pragma SUPPRESSES_WARNING_6009.
- PLW-06010: keyword "string" used as a defined name
-
Cause: A PL/SQL or SQL keyword was used as defined name. Although legal, this is not recommended.
- PLW-06011: detailed dependency information discarded due to size limitations
-
Cause: The compiled unit was so large that the compiler could not store detailed dependency information that could be used to quickly recompile the unit if it was invalidated.
- PLW-06012: SQL statement cannot be inlined. string
-
Cause: The SQL statement could not be inlined.
- PLW-06013: deprecated parameter PLSQL_DEBUG forces PLSQL_OPTIMIZE_LEVEL <= 1
-
Cause: The PLSQL_DEBUG parameter was set to TRUE forcing the optimization level to 1 (or 0 if the user selected 0) regardless of the setting of the PLSQL_OPTIMIZE_LEVEL parameter to a higher level
- PLW-06014: PLSQL_OPTIMIZE_LEVEL <= 1 turns off native code generation
-
Cause: Native code generation was not done because the optimization was set to 1 or less.
- PLW-06015: parameter PLSQL_DEBUG is deprecated; use PLSQL_OPTIMIZE_LEVEL = 1
-
Cause: The PLSQL_DEBUG parameter was specified.
- PLW-06016: unit string is too large; native code generation turned off
-
Cause: Because the program was extremely large, analysis took an excessive amount of time or space to complete causing native compilation to be turned off.
- PLW-06017: an operation will raise an exception
-
Cause: An operation near this location is certain to raise an exception during execution; it may be a programming error because it is not an explicit RAISE.
- PLW-06018: an infinity or NaN value is computed or used
-
Cause: An operation near this location computes or uses an infinite NUMBER, BINARY_FLOAT, or BINARY_DOUBLE value or a NaN BINARY_FLOAT or BINARY_DOUBLE value.
- PLW-06019: entity string is deprecated
-
Cause: The entity was deprecated and could be removed in a future release.
- PLW-06020: reference to a deprecated entity: string declared in unit string
-
Cause: The referenced entity was deprecated and could be removed in a future release.
- PLW-06021: PRAGMA DEPRECATE on string is misplaced
-
Cause: Misplaced pragma. The pragma deprecate should follow immediately after the declaration of the entity that is being deprecated.
- PLW-06022: cannot use PRAGMA DEPRECATE on this entity
-
Cause: This entity cannot be deprecated. Deprecation only applies to entities that may be declared in a package or type specification as well as to top-level procedure and function definitions.
- PLW-06023: invocation of string computes trivial value
-
Cause: An IS NULL, IS NOT NULL or NVL operator was used on an object that is either never null or always null. The code may be made more efficient by eliding the call.
- PLW-06024: incorrect use of PRAGMA COVERAGE
-
Cause: PRAGMA COVERAGE was encountered in a location in which it did not belong.
- PLW-06025: implicit use of NLS session parameters may be a security risk
-
Cause: A conversion to a CHAR or VARCHAR type without the explicit specification of National Language Support (NLS) conversion parameters may introduce certain security risks. This often arises when the conversion happens implicitly, as when non-character types are concatenated. See the Oracle Database SQL Language Reference manual for more information about security considerations for data conversion.
- PLW-06026: package specification exposes global variable string
-
Cause: A global variable was directly declared in a package specification.
- PLW-06027: procedure "string" is removed after inlining
-
Cause: After inlining, static program analysis determined that all calls to a procedure were inlined or removed. Therefore, it was removed to save time during compilation and save space during execution.
- PLW-06028: incorrect argument to COVERAGE pragma
-
Cause: COVERAGE pragma was supplied an illegal argument.
- PLW-06029: PRAGMA SUPPRESSES_WARNING_6009 on string is misplaced
-
Cause: Misplaced pragma. The pragma SUPPRESSES_WARNING_6009 should follow immediately after the declaration or the definition of the entity specified as argument.
- PLW-07203: parameter 'string' may benefit from use of the NOCOPY compiler hint
-
Cause: The mode of the specified parameter was IN OUT or OUT. Use of the NOCOPY compiler hint may speed up calls to this subprogram.
- PLW-07204: conversion away from column type may result in sub-optimal query plan
-
Cause: The evaluation of the WHERE clause in this SQL statement will convert this column value to a different data type. This may prevent the SQL optimizer from using an index that includes this column and slow down the execution of the statement.
- PLW-07205: SIMPLE_INTEGER is mixed with BINARY_INTEGER or PLS_INTEGER
-
Cause: Using SIMPLE_INTEGER and BINARY_INTEGER or PLS_INTEGER arguments in the same arithmetic expression may inhibit certain optimizations.
- PLW-07206: analysis suggests that the assignment to 'string' may be unnecessary
-
Cause: This assignment may be unnecessary; the PL/SQL optimizer could not find any further use of the variable which was being set. If the assignment was being done for some side-effect such as raising a specific exception, the compiler may not have been able to understand the side-effect and this warning may be inappropriate.
- PLW-07207: BULK COLLECT used without the LIMIT clause
-
Cause: This FETCH statement used BULK COLLECT without an accompanying LIMIT clause. The result set of the FETCH can be large, potentially causing memory shortage at run time.