【问题标题】:How to search strings inside Oracle Procedures, Functions and Triggers?如何在 Oracle 过程、函数和触发器中搜索字符串?
【发布时间】:2011-06-28 11:53:21
【问题描述】:

我需要在 Oracle 过程、函数和触发器中查找字符串。

对于 SQLServer,我使用这样的东西:

SELECT DISTINCT so.name
FROM syscomments sc
INNER JOIN sysobjects so ON sc.id=so.id
WHERE sc.TEXT LIKE '%m4_plf_par_periodo%'

Oracle 有类似的东西吗?

给我一​​个线索。

最好的问候,

【问题讨论】:

    标签: oracle function search stored-procedures triggers


    【解决方案1】:

    使用免费的 Oracle DB 工具“SQL Developer”中的“查找数据库对象”向导。

    确切地说,从 Oracle 下载并安装 Oracle SQL Developer --> 使用高级用户创建到数据库的新连接 --> 在 SQL Developer 菜单中选择“查看”-> 打开菜单项“ Find DB Object" --> 在左侧面板中打开 Find Database Object Widget --> 选择 DB 连接 --> 选择要搜索的特定模式 --> 选择“All Source Lines”节点 - -> 键入要搜索的字符串--> 单击“Go”。

    期望它在所选架构拥有的所有触发器/过程/函数/包源中执行不区分大小写的通配符搜索,并显示来自它所在的每个对象的示例代码行的全面搜索报告找到了。

    【讨论】:

      【解决方案2】:

      有关使用 USER_SOURCE 的解决方案,请参阅 this question

      【讨论】:

      • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
      【解决方案3】:

      您可以查询ALL_SOURCE(包含您有权访问的所有程序的源代码)。

      或者,DBA_SOURCE 描述数据库中所有存储对象的文本源,USER_SOURCE 仅包含存储对象的文本源。

      【讨论】:

        猜你喜欢
        • 2011-10-07
        • 1970-01-01
        • 2021-04-30
        • 2018-02-23
        • 1970-01-01
        • 2011-01-02
        • 2013-09-08
        • 1970-01-01
        • 2013-12-30
        相关资源
        最近更新 更多