查找特定表的数据源-ORACLE

Haw*_*awk 3 sql oracle plsql oracle-sqldeveloper

这可能是一个琐碎的问题。但是,由于我正在研究很久以前由其他人创建的数据库,没有适当的文档或注释,因此遇到了一个关键问题,我需要知道如何将数据插入到特定表中吗?是否有任何脚本或其他方法可以标识数据源。换句话说,我需要知道是否通过某些过程,函数,手动...等插入了数据。我无法搜索所有过程或函数,它们有数百个。我正在使用SQL Developer,它是oracle 11g DB。

Rah*_*thi 5

没有这样的脚本,您可以通过该脚本来确定表的数据源。我能想到的最好的办法是,您可以过滤所有引用表的存储过程

SELECT *
  FROM dba_dependencies
 WHERE referenced_owner = 'SCOTT'
   AND referenced_name  = 'YOUR_TABLE_NAME'
   AND referenced_type  = 'TABLE'
Run Code Online (Sandbox Code Playgroud)

或者您可以使用此脚本

SELECT *
  FROM dba_source
 WHERE UPPER(text) LIKE '%YOUR_TABLE_NAME%';
Run Code Online (Sandbox Code Playgroud)

这将过滤掉表所引用的所有存储的proc / triggers /其他db代码,然后您必须检查insert使用语句的代码。