SELECT_ from ALL_OBJECTS返回各种过程/ packages / tables /其他db对象的名称。我想在PL / SQL代码中查找匹配的字符串。我该怎么做?
类似于:(伪代码)SELECT * FROM all_code WHERE line_of_code like'%mytext%'
答案 0 :(得分:31)
使用类似:
SELECT *
FROM USER_SOURCE
WHERE type='PACKAGE'
AND NAME='PACKAGE_NAME'
ORDER BY type, name, line;
有很多选项,请查看USER_SOURCE表。
搜索所有代码的字符串:
SELECT *
FROM ALL_SOURCE
WHERE UPPER(text) LIKE UPPER('%what I am searching for%')
ORDER BY type, name, line
请注意,_SOURCE
表中不包含视图代码。查看代码存储在[USER|ALL|DBA]_VIEWS.TEXT
中,这是一个很长的列,很难查询。