41

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

我多年来一直在做 SQL Server,并且知道在那里做这件事的几种方法,但在这里没有一个对我有帮助。

我试过使用

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

返回结果,但仅针对我的默认架构,而不是我需要搜索的架构。

我也尝试了以下但它只是错误

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

3 回答 3

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

编辑添加附加信息:

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

不同之处在于 dba_source 将拥有所有存储对象的文本。All_source 将包含执行查询的用户可访问的所有存储对象的文本。Oracle 数据库参考 11g 第 2 版 (11.2)

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

于 2011-02-17T19:50:22.063 回答
3

我总是用UPPER(text)喜欢UPPER('%blah%')

于 2017-02-02T09:04:30.430 回答
2

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

于 2012-08-28T15:06:51.623 回答