Oracle Error PLS-00900: can’t find body of unit ‘string’

Oracle Error Message

PLS-00900: can’t find body of unit ‘string’

Reason for the Error

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;

Solution

If caused by the first reason, create a body for the object that is being referenced. If caused by the second reason, move the sequence into a SQL statement. For example, i := seq.nextval; can be replaced by: select seq.nextval into temp from dual; i := temp;

Share:

Leave A Reply

Your email address will not be published. Required fields are marked *

You May Also Like

Oracle Error Message ORA-24328: illegal attribute value Reason for the Error The attribute value passed in is illegal. Solution Consult...
Oracle Error Message ORA-01346: LogMiner processed redo beyond specified reset log scn Reason for the Error LogMiner has detected a...
Oracle Error Message ORA-13241: specified dimensionality does not match that of the data Reason for the Error An error occurred...