CREATE ON REPLACE PROCEDURE raise_salary(num number, increase number)
is
BEGIN
update emp set sal*sal+increase where empno=no;
end;
有如上存储过程。当建立过程raise_salary时,在UPDATE语句中引用了EMP表。那么,可以描述为存储过程raise_salary依赖于表emp。其中raise_salary为对象依赖,emp为引用对象
确定依赖关系可使用查询数据字典USER_DEPENENCIES
select name,type from user_dependencies where referenced_name='EMP'
当emp的结构被修改了,相应的raise_salary就会变为invalid状态。查看所有invalid的对象,可以使用数据字典USER_OBJECTS
select object_name,object_type from user_objects where status='INVALID'
当对象状态为INVALID时,应该重新编译这些存储对象
alter procedure raise_salary compile;