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.
Action: Check the spelling of the
cursor, procedure, function, or package name. Also check the names of all
constants, variables, parameters, and exceptions declared in the same scope.
Then, remove or rename the object with the duplicate name. Or, change the
headers of the packaged subprogram so that they match word for
word.


Relared Errors:
PLS-00306:
wrong number or types of arguments in call to
`string`

PLS-00307: too
many declarations of `string` match this call

PLS-00308: this
construct is not allowed as the origin of an assignment

PLS-00309: with
%%LAST attribute, `string` must be a variable of an enumerated
type

PLS-00310: with
%%ROWTYPE attribute, `string` must name a table, cursor or
cursor-var

PLS-00311: the
declaration of string is incomplete or malformed

PLS-00312: a
positional parameter association may not follow a named
association

PLS-00313:
`string` not declared in this scope

PLS-00314:
TABLE declarations are not allowed as PL/SQL local variables

PLS-00315:
Implementation restriction: unsupported table index type