zoukankan      html  css  js  c++  java
  • 管理子程序


    管理子程序

    1、列出当前用户的子程序
      数据字典视图USER_OBJECTS用于显示当前用户所包含的所有对象。它不仅可以列出用户的表、视图、索引等,也可以列出用户的过程、函数和包。如下语句所示:
    SELECT * FROM USER_OBJECTS WHERE OBJECT_TYPE IN ('PROCEDURE','FUNCTION');

    2、列出子程序源代码
    数据字典视图USER_SOURCE用于列出子程序的源代码。
    SELECT TEXT FROM USER_SOURCE WHERE NAME='PKG_N9_RPT';

    3、列出子程序编译错误
       确定错误出现在哪一行方法:
       第一:使用SHOW ERRORS命令;SQL> SHOW ERRORS PROCEDURE ADD_AREA;
       第二:使用数据字典视图USER_ERRORS。SQL> SELECT line||'/'||position AS "LINE/COL",text error FROM user_errors WHERE name='ADD_AREA';

    4、列出对象依赖关系
       比如视图GC_OWNERSHIP引用了表B$GC_OWNERSHIP,那么该视图就是依赖对象,而该表称为引用对象
        查看依赖关系的方法一:
        SELECT * FROM USER_DEPENDENCIES WHERE REFERENCED_NAME='B$GC_OWNERSHIP';
        查看依赖关系的方法二:
        使用工具视图DEPTREE和IDEPTREE确定直接依赖和间接依赖关系
        首先运行E:\oracle\product\10.2.0\db_1\RDBMS\ADMIN下的utldtree.sql脚本,来建立这两个视图和过程deptree_fill,然后调用过程deptree_fill填充这两个视图。
        SQL> @E:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utldtree.sql --利用utldree.sql建立视图和过程
        SQL>exec deptree_fill(‘table’,’scott’,’emp’);          --利用过程填充视图内容
        SQL>select * from deptree;                                   --从视图中获取数据、

    5、重新编译子程序
       当其所引用的对象发生变化时会使这些依赖对象变为无效的,因此必须重新编译才能重新变成可使用的。
       可以直接在plsql的左边选择包等右键进行编译;
       或者采用语句进行编译:ALTER PROCEDURE ADD_AREA COMPILE;

  • 相关阅读:
    10.并发包阻塞队列之ArrayBlockingQueue
    【PHP】最详细PHP从入门到精通(三)——PHP中的数组
    新随笔222
    新随笔
    iOS常用加密算法介绍和代码实践
    5.在MVC中使用泛型仓储模式和工作单元来进行增删查改
    Directx11学习笔记【二十】 使用DirectX Tool Kit加载mesh
    什么是Dagger2
    嗯嗯

  • 原文地址:https://www.cnblogs.com/lanzi/p/1825803.html
Copyright © 2011-2022 走看看