在toad中针对一个表或是存储过程等对象,点击F4后,在弹出窗口中有个used by,也就是这个对象被哪些其他的对象调用。请问一下,这个若是转化成sql语句,该怎样写,能把调用他的所有对象都取出来,和点击F4看到的效果是一样的。还有存储过程中调用的所有对象找出来,该怎样写这个语句??谢谢!!!

解决方案 »

  1.   

    如果对象是procedure的话,通过这个来看引用到他的对象
    select * from USER_DEPENDENCIES where REFERENCED_NAME='你的对象名称' and REFERENCED_TYPE='PROCEDURE';
    如果对象是表的话,通过这个来看引用到他的对象
    select * from USER_DEPENDENCIES where REFERENCED_NAME='你的对象名称' and REFERENCED_TYPE='TABLE';
      

  2.   

    如果有dba的权限,可以用dba的权限来查用DBA_DEPENDENCIES的话select * from DBA_DEPENDENCIES where REFERENCED_NAME='你的对象名称' and REFERENCED_TYPE='PROCEDURE' and REFERENCED_OWNER='该对象的OWNER'; select * from DBA_DEPENDENCIES where REFERENCED_NAME='你的对象名称' and REFERENCED_TYPE='TABLE' and REFERENCED_OWNER='该对象的OWNER';