【问题标题】:PL/SQL Developer: How to find variable references?PL/SQL Developer:如何找到变量引用?
【发布时间】:2011-12-18 09:58:18
【问题描述】:

在 Oracle 包中,如何找出变量的所有引用?就像您在 Eclipse 或 Visual Studio 中那样。

TOAD、Sql Developer 或 PL/SQL Developer 等任何 Oracle IDE 是否都支持此功能?我正在使用 PL/Sql 开发人员?

【问题讨论】:

  • 我已经有一段时间没有尝试过 SQL Developer 或 PL/SQL Developer 但我认为 Toad 不支持它。
  • @Sathya 您当然可以使用 Toad,它会在选择时突出显示变量,并且还有重命名变量重构工具

标签: oracle stored-procedures package plsqldeveloper


【解决方案1】:

在 PL/SQL Developer 中,我会使用“查找数据库对象”工具(工具菜单,“查找数据库对象”,或点击浏览器上的双筒望远镜按钮)。在“要查找的文本”框中输入您要查找的文本(例如您的变量的名称),在所有者框中输入您感兴趣的对象的架构名称,然后输入您感兴趣的包名称在“名称”框中。选择您要搜索的对象类型(函数、过程等),然后单击“搜索”按钮。

如果您对变量的完全限定用途感兴趣,您可以输入 SCHEMA_NAME.PACKAGE_NAME.VAR_NAME 之类的内容 - 或尝试使用 PACKAGE_NAME.VAR_NAME 进行部分限定用途。

分享和享受。

【讨论】:

  • 感谢您的回答。遗憾的是,SP 开发人员没有像 Java/C# 开发人员从 IDE 中获得同样的爱。
  • 我会提到文本搜索与参考搜索并不完全相同。文本搜索也会找到声明;它还将查找其子字符串是您的搜索文本的任何字符串。例如,如果您搜索变量“x”,您还将找到变量“xyz”、过程“abx”、包“xcd”。对 varialbe 'a' 的文本搜索可能会在您的源代码中找到一半的单词
【解决方案2】:

两种方法,你可以找到

1) 点击望远镜按钮

2) 使用查询(适用于 Oracle)

select * from ALL_SOURCE where text like '%some string%';

【讨论】:

    【解决方案3】:

    PL/Scope,但老实说,它有点像野兽,我自己从未尝试过。

    当然,您可以在当前包中搜索并查看所有出现的突出显示,但这并不理想,因为文本搜索不考虑范围,并且可能有多个同名变量。

    PL/SQL Developer 的 Refactor 选项可以解析变量范围,所以我不明白为什么它至少不能突出显示当前包中的所有引用。也许您可以在Allround Automations PL/SQL Developer forum 上提出它,并获得marco 著名的“我已将其添加到增强请求列表中”的答案之一。 (请务必每 5 年左右通过后续帖子提醒他。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-08
      • 2010-12-22
      相关资源
      最近更新 更多