我正在研究将每个表暴露在视图中的Oracle数据库。出于清晰的原因,我已经使视图名称包含它正在展示的表的名称。现在我想知道是否有任何视图中不包含名称的表,这意味着我忘了暴露他们的视图。Oracle - 搜索另一个表中包含的一个表中的字符串
如果我查询ALL_TABLES和ALL_VIEWS,让我们假设我得到以下结果:
SELECT table_name FROM all_tables:
TABLE1
TABLE2
TABLE3
SELECT view_name FROM all_tables:
TABLE1_VIEW
TABLE2_VIEW
我现在想查询两个结果,并获得中包含的任何视图名称中的所有表名和那些不是。在我的例子中,包含TABLE1和TABLE2,但TABLE3不包含。
我试着循环所有的表名,并在视图名称结果集上查找它们中的每一个。我想知道是否有更直接的方法。
我不会依赖视图的名称,除非你有绝对的把握,所有的视图名称甲肝e预定义的形式,例如'TABLE1_VIEW'。而是检查“ALL_VIEWS.TEXT”列是否包含某个表名。 –
你说得对,我根本不是一个可靠的方法。我主要把这视为一个挑战,因为我是Oracle的新手,而且我不会自动执行任何操作。 – ederbf