在作业和过程中查找Oracle中特定列的引用

时间:2012-05-23 17:19:57

标签: oracle

我正在寻找一个查询,允许我查询oracle数据库中的所有表,视图, JOBS PROCEDURES 。我找到了一些可用于表和视图的查询链接,但我需要作业程序。如果一个查询不能用于所有这些,我至少需要工作和程序。

以下是我在表和视图中找到的内容:

Select TABLE_NAME, COLUMN_NAME from user_tab_columns

TIA

1 个答案:

答案 0 :(得分:2)

我的猜测是你需要像

这样的东西
SELECT name, type, line, text
  FROM user_source
 WHERE lower(text) like lower('%<<column name>>%');

这将显示包含列名的任何pL / SQL对象(包,包体,过程,函数,触发器,类型等)中的任何代码行。如果有多个表具有相同名称的列(即在许多不同的表中找到列name),则将标识所有实例。没有一个非常好的方法,没有检查代码,找出哪个查询引用一个特定表中的name列。您可能会查看来自NAME的{​​{1}}和TYPE是否出现在USER_SOURCE中作为引用您感兴趣的特定表格。但这只是向您显示表格 - 对象级别的对象依赖关系和对象可能依赖于大量不同的表。