zoukankan      html  css  js  c++  java
  • day12_程序包

    程序包:可将存储过程、函数、变量、常量和游标等PL/SQL程序设计元素组织起来,作为一个对象进行存储。
    这样既方便实现,又便于维护和代码共享。
    程序包也可以包含常量和变量,包中的所有函数和存储过程都可以使用这些变量或者常量。


    一个完整的包由说明部分、包主体两部分组成。
    这两部分需要分别建立,并分开存储在数据库,其中包说明部分可以独立存在,就是说可以没有包主体。
    只有说明部分的包,常用于全局变量和标志变量的说明。


    包的说明部分(包头):用于声明包中全局数据对象和程序单元。
    包的主体部分:用于定义在说明部分中声明的函数和存储过程的具体实现。





    1、创建说明部分(包头)
    create or replace package pkg_emp as 
      function getEmpCount return number;
      procedure update_sal;
      procedure insert_emp(v_empno in number,v_ename in varchar2, v_sal in number, v_comm in number);
    end pkg_emp;
    /



    2、创建主体
    create or replace package body pkg_emp as
      function getEmpCount return number as
      begin
        declare emp_count number;
        begin
          select count(*) into emp_count from emp;
          return emp_count;
        end;
      end getEmpCount;

      procedure update_sal as
      begin
        update emp set sal = sal * 3;
        commit;
      end update_sal;

      procedure insert_emp(v_empno in number,v_ename in varchar2, v_sal in number, v_comm in number) as 
      begin
        begin
          insert into emp (empno ,ename,sal ,comm) values (v_empno ,v_ename,v_sal ,v_comm);
          commit;
        end;
      end insert_emp;

    end pkg_emp;
    /



    3、调用程序包
    (1)select pkg_emp.getEmpCount from dual;

    (2)exec pkg_emp.update_sal;

    (3)exec pkg_emp.insert_emp(1,'1',1,1);






  • 相关阅读:
    雪花算法 适用于ID 自增
    SB ,mybatis generator 插件 实现 更新操作
    spark优化
    Hive的导入导出方式汇总
    推荐系统架构图
    DBScan算法
    机器学习-逻辑回归算法
    机器学习-微博精准营销
    机器学习-TF-IDF算法
    机器学习-KNN识别手写数字
  • 原文地址:https://www.cnblogs.com/xiaoxiao5ya/p/07a0a63f3b5fa32faa9ee1565212d839.html
Copyright © 2011-2022 走看看