Introduction to Dependency Issues【每日一译】--2013-1-8

本文介绍了Oracle数据库如何自动跟踪特定变化并记录相关对象的状态,包括视图、过程、函数和包等对象的有效性和依赖关系。当这些对象或其依赖对象发生变化时,Oracle会更新它们的状态,确保数据库的一致性和有效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

present. Schema objects with such problems remain invalid.

如果一个视图,过程,函数,或者是包是不可用状态,O可能会试图编译它,否则与

对象有关的错误将出现。比如当你编译一个视图,它的其中一个基表可能不存在了,

或者对于基表的正确权限不存在了。当编译一个包时,可能有PL/SQL或者是SQL的

语法错误,或者是对于相关对象的正确权限可能已经不存在了。用户对象对于包含

的这类问题将维持不可用状态。

Oracle automatically tracks specific changes in the database and records the
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自动的跟踪在数据库中指定的改变并且记录在数据字典中相关对象的状态;

状态记录是一个递归过程,任何相关对象的状态改变,不仅改变直接的依赖对象,而且也

改变间接的依赖对象的状态。

For example, consider a stored procedure that directly references a view. In effect, the
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.

比如,假定一个存储过程直接相关于一个视图。实际的,此存储过程间接相关于此视图的基

本表。所以,如果你修改了基表,那么视图是无效的,并且会使此过程无效的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值