搜索PL / SQL代码

时间:2009-03-10 15:43:10

标签: oracle search plsql

SELECT_ from ALL_OBJECTS返回各种过程/ packages / tables /其他db对象的名称。我想在PL / SQL代码中查找匹配的字符串。我该怎么做?

类似于:(伪代码)SELECT * FROM all_code WHERE line_of_code like'%mytext%'

1 个答案:

答案 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中,这是一个很长的列,很难查询。