在 Oracle 存储过程中搜索文本

新手上路,请多包涵

我需要使用 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%'

原文由 PseudoToad 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 552
2 个回答
 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。

原文由 Shannon Severance 发布,翻译遵循 CC BY-SA 3.0 许可协议

我总是使用 UPPER(text) 比如 UPPER('%blah%')

原文由 Guest1 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进