【问题标题】:Searching for Text within Oracle Stored Procedures在 Oracle 存储过程中搜索文本
【发布时间】:2011-06-29 08:40:03
【问题描述】:

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


    【解决方案1】:
     SELECT * FROM ALL_source WHERE UPPER(text) LIKE '%BLAH%'
    

    编辑添加附加信息:

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

    不同的是 dba_source 将拥有所有存储对象的文本。 All_source 将包含执行查询的用户可访问的所有存储对象的文本。 Oracle Database Reference 11g Release 2 (11.2)

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

    【讨论】:

    • 你摇滚!非常感谢香农!
    • 如果您想将搜索限制为特定架构,您可以添加 AND OWNER = 'SCHEMA OWNER NAME'。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      我总是像UPPER('%blah%') 一样使用UPPER(text)

      【讨论】:

      • 要批评另一个答案,请使用评论。 (需要 50 声望,您可以通过发布有用的答案和问题来获得声望。)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-20
      • 2010-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-11
      相关资源
      最近更新 更多