If a view, procedure, function, or package is invalid, Oracle may have attempted to
compile it, but errors relating to the object occurred. For example, when compiling
a view, one of its base tables might not exist, or the correct privileges for the base
table might not be present. When compiling a package, there might be a PL/SQL
or SQL syntax error, or the correct privileges for a referenced object might not be
appropriate status for related objects in the data dictionary.
Status recording is a recursive process. Any change in the status of a referenced object
changes the status not only for directly dependent objects, but also for indirectly
stored procedure indirectly references the base tables of that view. Therefore, if you
compile it, but errors relating to the object occurred. For example, when compiling
a view, one of its base tables might not exist, or the correct privileges for the base
table might not be present. When compiling a package, there might be a PL/SQL
or SQL syntax error, or the correct privileges for a referenced object might not be
present. Schema objects with such problems remain invalid.
如果一个视图,过程,函数,或者是包是不可用状态,O可能会试图编译它,否则与
对象有关的错误将出现。比如当你编译一个视图,它的其中一个基表可能不存在了,
或者对于基表的正确权限不存在了。当编译一个包时,可能有PL/SQL或者是SQL的
语法错误,或者是对于相关对象的正确权限可能已经不存在了。用户对象对于包含
的这类问题将维持不可用状态。
appropriate status for related objects in the data dictionary.
Status recording is a recursive process. Any change in the status of a referenced object
changes the status not only for directly dependent objects, but also for indirectly
dependent objects.
O自动的跟踪在数据库中指定的改变并且记录在数据字典中相关对象的状态;
状态记录是一个递归过程,任何相关对象的状态改变,不仅改变直接的依赖对象,而且也
改变间接的依赖对象的状态。
stored procedure indirectly references the base tables of that view. Therefore, if you
alter a base table, the view is invalidated, which then invalidates the stored procedure.
比如,假定一个存储过程直接相关于一个视图。实际的,此存储过程间接相关于此视图的基
本表。所以,如果你修改了基表,那么视图是无效的,并且会使此过程无效的。