我需要在源代码(DDL)中为Oracle模式中的所有存储过程找到一个字符串.
我使用此查询来执行任务,但我认为可以改进
SELECT T0.OBJECT_NAME
FROM USER_PROCEDURES T0
WHERE T0.OBJECT_TYPE='PROCEDURE'
AND INSTR( (SELECT DBMS_METADATA.GET_DDL('PROCEDURE',T0.OBJECT_NAME,'MySCHEMA')
FROM DUAL), 'TheStringToSearch' )>0
Run Code Online (Sandbox Code Playgroud)
有没有办法以更优化和快速的方式完成这项任务?
提前致谢.
Ton*_*ews 14
是的,使用USER_SOURCE:
select distinct name
from user_source
where type = 'PROCEDURE'
and lower(text) like lower('%the_text_you_want%');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13666 次 |
| 最近记录: |