2011-02-17 96 views
18

我需要使用TOAD搜索Oracle数据库中的所有存储过程。我正在寻找开发人员在序列中使用MAX + 1而不是NEXTVAL来获取下一个ID号的任何地方。在Oracle存储过程中搜索文本

我一直在做SQL Server多年,并知道几种方法来做到这一点,但没有人帮助我在这里。

我已经尝试使用

SELECT * FROM user_source 
WHERE UPPER(text) LIKE '%blah%' 

结果,但只为我的默认模式,而不是因为我需要先搜索模式返回。

我也试过以下,但它只是错误

​​

回答

47
SELECT * FROM ALL_source WHERE UPPER(text) LIKE '%BLAH%' 

编辑添加additi onal info:

SELECT * FROM DBA_source WHERE UPPER(text) LIKE '%BLAH%' 

不同之处在于dba_source将具有所有存储对象的文本。 All_source将具有执行查询的用户可访问的所有存储对象的文本。 Oracle Database Reference 11g Release 2 (11.2)

另一个区别是您可能无法访问dba_source。

+0

你摇滚!谢谢香农! – PseudoToad 2011-02-17 19:57:12

+1

如果你想限制搜索到一个特定的模式,你可以添加AND OWNER ='SCHEMA OWNER NAME'。 – 2011-02-17 20:54:57

2

如果使用UPPER(text)like '%lah%'将始终返回零结果。使用'%LAH%'

3

我总是用UPPER(text)就像UPPER('%blah%')