有没有办法使用sql或plsql查询整个Oracle数据库,以返回包含特定子字符串的所有表/列的列表?请注意,我想查找数据中的子字符串(不在表/列名称本身内)。
我遇到的问题是角色看起来像是一个空格,但实际上是一个不同的角色。我已经通过获取子字符串文本并通过十六进制转换器证明了这一点。我需要能够在数据库中的任何地方找到这个角色,所以我可以用实际空间替换它。
有什么想法吗?
答案 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。