小编典典

查找特定表的数据源-ORACLE

sql

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


阅读 244

收藏
2021-04-28

共1个答案

小编典典

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

SELECT *
  FROM dba_dependencies
 WHERE referenced_owner = 'SCOTT'
   AND referenced_name  = 'YOUR_TABLE_NAME'
   AND referenced_type  = 'TABLE'

或者您可以使用此脚本

SELECT *
  FROM dba_source
 WHERE UPPER(text) LIKE '%YOUR_TABLE_NAME%';

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

2021-04-28