查询表相关的存储对象

来源:互联网 发布:锁定mac地址 编辑:程序博客网 时间:2024/06/06 01:07
CREATE ON REPLACE PROCEDURE raise_salary(num number, increase number)isBEGIN 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;