<small id='CZ3Mt'></small><noframes id='CZ3Mt'>

        <bdo id='CZ3Mt'></bdo><ul id='CZ3Mt'></ul>

      <tfoot id='CZ3Mt'></tfoot>
      <i id='CZ3Mt'><tr id='CZ3Mt'><dt id='CZ3Mt'><q id='CZ3Mt'><span id='CZ3Mt'><b id='CZ3Mt'><form id='CZ3Mt'><ins id='CZ3Mt'></ins><ul id='CZ3Mt'></ul><sub id='CZ3Mt'></sub></form><legend id='CZ3Mt'></legend><bdo id='CZ3Mt'><pre id='CZ3Mt'><center id='CZ3Mt'></center></pre></bdo></b><th id='CZ3Mt'></th></span></q></dt></tr></i><div id='CZ3Mt'><tfoot id='CZ3Mt'></tfoot><dl id='CZ3Mt'><fieldset id='CZ3Mt'></fieldset></dl></div>

        <legend id='CZ3Mt'><style id='CZ3Mt'><dir id='CZ3Mt'><q id='CZ3Mt'></q></dir></style></legend>

        如何判断是否正在使用 PL/SQL 包、过程或函数?

        How can you tell if a PL/SQL Package, Procedure, or Function is being used?(如何判断是否正在使用 PL/SQL 包、过程或函数?)
          <bdo id='hMfCC'></bdo><ul id='hMfCC'></ul>

            <tfoot id='hMfCC'></tfoot>

                <tbody id='hMfCC'></tbody>

              <small id='hMfCC'></small><noframes id='hMfCC'>

            • <i id='hMfCC'><tr id='hMfCC'><dt id='hMfCC'><q id='hMfCC'><span id='hMfCC'><b id='hMfCC'><form id='hMfCC'><ins id='hMfCC'></ins><ul id='hMfCC'></ul><sub id='hMfCC'></sub></form><legend id='hMfCC'></legend><bdo id='hMfCC'><pre id='hMfCC'><center id='hMfCC'></center></pre></bdo></b><th id='hMfCC'></th></span></q></dt></tr></i><div id='hMfCC'><tfoot id='hMfCC'></tfoot><dl id='hMfCC'><fieldset id='hMfCC'></fieldset></dl></div>

                <legend id='hMfCC'><style id='hMfCC'><dir id='hMfCC'><q id='hMfCC'></q></dir></style></legend>
                  本文介绍了如何判断是否正在使用 PL/SQL 包、过程或函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  如何判断是否正在使用 PL/SQL 包、过程或函数?是否有包含有关 PL/SQL 包、过程或函数使用情况的统计信息的 Oracle 表或视图?

                  How can you tell if a PL/SQL Package, Procedure, or Function is being used? Is there an Oracle table or view that contains statistics on PL/SQL Package, Procedure, or Function usage?

                  推荐答案

                  你也可以试试查询USER/ALL_source:

                  You can also try querying USER/ALL_source:

                  SELECT * FROM all_source
                  where UPPER(TEXT) like UPPER('%procedure_name%')
                  

                  SELECT * FROM all_source
                  where UPPER(TEXT) like UPPER('%package.function_name%')
                  

                  您必须忽略自我引用,但这应该很容易发现.

                  You'll have to ignore self references, but that should be easy to spot.

                  您还需要检查来自 user/all_views 的查看"源.请参阅有关查询视图源的另一个问题.

                  You'll also need to check "view" source from user/all_views. See the other question about querying view source though.

                  您还可以检查包或顶级函数/过程是否与

                  you can also check if a package or top level function/procedure is used with

                  select * from all_dependencies
                  where referenced_name like '%PACKAGE_NAME%';
                  

                  注意:根据需要将 user_ 切换为 all_/dba_

                  NB: switch user_ with all_/dba_ as needed

                  如果您专门寻找未调用的函数,那么另一种选择是在打开 WARNINGS 的情况下编译您的代码,然后寻找 PLW-06002 和 LPW-06006

                  if you are specifically looking for uncalled functions then another option is to compiler your code with WARNINGS turned on and then look for PLW-06002 and LPW-06006

                  exec DBMS_WARNING.add_warning_setting_cat('ALL','ENABLE','SESSION')
                  create or replace function x return number
                  as
                  procedure y is begin null; end;
                  begin
                  return 0;
                  return 1;
                  end;
                  
                  show errors
                  
                  Errors for FUNCTION X:
                  
                  LINE/COL ERROR
                  -------- -----------------------------------------------------------------
                  1/1      PLW-05018: unit X omitted optional AUTHID clause; default value DEFINER used
                  3/1      PLW-06006: uncalled procedure "Y" is removed.
                  6/1      PLW-06002: Unreachable code
                  

                  这篇关于如何判断是否正在使用 PL/SQL 包、过程或函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Why Mysql#39;s Group By and Oracle#39;s Group by behaviours are different(为什么 Mysql 的 Group By 和 Oracle 的 Group by 行为不同)
                  Creating a flattened table/view of a hierarchically-defined set of data(创建分层定义的数据集的扁平表/视图)
                  MySQL: how to do row-level security (like Oracle#39;s Virtual Private Database)?(MySQL:如何做到行级安全(如 Oracle 的 Virtual Private Database)?)
                  What is the best way to enforce a #39;subset#39; relationship with integrity constraints(强制执行具有完整性约束的“子集关系的最佳方法是什么)
                  Split String by delimiter position using oracle SQL(使用 oracle SQL 按分隔符位置拆分字符串)
                  How to unfold the results of an Oracle query based on the value of a column(如何根据列的值展开Oracle查询的结果)

                    • <bdo id='IiZEy'></bdo><ul id='IiZEy'></ul>
                    • <legend id='IiZEy'><style id='IiZEy'><dir id='IiZEy'><q id='IiZEy'></q></dir></style></legend>
                      • <tfoot id='IiZEy'></tfoot>

                        <small id='IiZEy'></small><noframes id='IiZEy'>

                          • <i id='IiZEy'><tr id='IiZEy'><dt id='IiZEy'><q id='IiZEy'><span id='IiZEy'><b id='IiZEy'><form id='IiZEy'><ins id='IiZEy'></ins><ul id='IiZEy'></ul><sub id='IiZEy'></sub></form><legend id='IiZEy'></legend><bdo id='IiZEy'><pre id='IiZEy'><center id='IiZEy'></center></pre></bdo></b><th id='IiZEy'></th></span></q></dt></tr></i><div id='IiZEy'><tfoot id='IiZEy'></tfoot><dl id='IiZEy'><fieldset id='IiZEy'></fieldset></dl></div>
                              <tbody id='IiZEy'></tbody>