如何找出使用表格的程序和功能?

时间:2015-06-09 14:25:09

标签: sql oracle plsql

我删除了一个表(表a),我想知道哪些函数,过程和视图正在使用我的表(表a)。

3 个答案:

答案 0 :(得分:1)

试试这个

select * from dba_source where text like '%:tablename%'

答案 1 :(得分:1)

您可以使用以下查询检查 DBA_DEPENDENCIES 表:

  select * from DBA_DEPENDENCIES where REFERENCED_NAME ='tableA' --YOUR TABLE NAME;

快速检查

    create table TEST (id number(5), name varchar2(50) ); 
     --Table created

    insert into TEST values(1,'mahi');
     --1 row created. 

    commit;                                                                                                               
     --Commit complete.   

    create or replace procedure PROC_TEST As
    v_name varchar2(50);
    BEGIN
    select name into v_name from TEST where id=1;
    dbms_output.put_line('o/p : ' || ' ' || v_name);
    END;
    /
       --Procedure created. 

      Exec PROC_TEST();                                                                                                                       
      --o/p :  mahi                                                                                                                 

      --PL/SQL procedure successfully completed. 

QUERY:

 select * from DBA_DEPENDENCIES where REFERENCED_NAME = 'TEST';

QUERY OUTPUT

答案 2 :(得分:0)

我的问题是" davegreen100"将工作,但需要在两侧放置鞋面,以便它适用于上部和下部。

select * from dba_source where upper(text) like upper('%:tablename%')