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