查找包含特定子字符串的表/列

时间:2014-12-03 01:00:38

标签: sql oracle plsql

有没有办法使用sql或plsql查询整个Oracle数据库,以返回包含特定子字符串的所有表/列的列表?请注意,我想查找数据中的子字符串(不在表/列名称本身内)。

我遇到的问题是角色看起来像是一个空格,但实际上是一个不同的角色。我已经通过获取子字符串文本并通过十六进制转换器证明了这一点。我需要能够在数据库中的任何地方找到这个角色,所以我可以用实际空间替换它。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

如果您只是在寻找表名和列名,可以使用视图:ALL_TAB_COLUMNS:

SELECT owner, table_name, column_name FROM all_tab_columns 
WHERE table_name LIKE UPPER('%search_string%') 
OR column_name LIKE UPPER('%search_string%');

如果要搜索其他名称的位置,可以使用ALL_OBJECTS视图:

SELECT owner, object_name, object_type 
FROM all_objects WHERE object_name LIKE UPPER('%search_string%') ;

答案 1 :(得分:0)

您可以使用ALL_TAB_COLUMNS表格使用like。

在列和表格中进行搜索