在 Oracle 存储过程中搜索文本

问题描述 投票:0回答:4

我需要使用 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%'
sql oracle stored-procedures full-text-search toad
4个回答
95
投票
 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。


3
投票

我总是用

UPPER(text)
UPPER('%blah%')


2
投票

如果您使用

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


0
投票

对我来说,给定的查询不起作用。它没有显示任何结果。我真的不知道为什么。但是 SQLDeveloper 的“依赖”特性救了我一命!!!。

在 SQLDeveloper 中,当您在左侧的“连接”视图中选择表时,表的详细信息将在右侧的“文档”视图中打开。文档视图中有许多选项卡,如列、数据、模型、约束等。其中一个选项卡是“依赖性”。此选项卡列出了引用表的所有对象,如触发器、索引、函数、过程等。

对于TOAD,我认为,它是“Referantial”和“Used By”选项卡。 (不清楚,请参考TOAD参考资料)

希望这能帮助像我一样苦苦挣扎的人。

© www.soinside.com 2019 - 2024. All rights reserved.