【发布时间】:2010-10-12 11:08:48
【问题描述】:
SELECT * from ALL_OBJECTS 返回各种过程/包/表/其他数据库对象的名称。我想在 PL/SQL 代码中查找匹配的字符串。我该怎么做?
类似:(伪代码)SELECT * FROM all_code WHERE line_of_code like '%mytext%'
【问题讨论】:
SELECT * from ALL_OBJECTS 返回各种过程/包/表/其他数据库对象的名称。我想在 PL/SQL 代码中查找匹配的字符串。我该怎么做?
类似:(伪代码)SELECT * FROM all_code WHERE line_of_code like '%mytext%'
【问题讨论】:
使用类似的东西:
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,这是一个长列,难以查询。
【讨论】: