zoukankan      html  css  js  c++  java
  • oracle构造过程实例

      包的构造过程是没有任何名称的,它是在实现了包的其他过程之后,以begin开始,以end结束的部分。

    1,包头

    create or replace package pkg_emp is
      minsal number(6, 2);
      maxsal number(6, 2);
      procedure add_employee(eno    number,
                             name   varchar2,
                             salary number,
                             dno    number);
      procedure upd_sal(eno number, salary number);
      procedure upd_sal(name varchar2, salary number);
    end pkg_emp;

    2,包体

    create or replace package body pkg_emp is

      procedure add_employee(eno    number,
                             name   varchar2,
                             salary number,
                             dno    number) is
      begin
        if salary between minsal and maxsal then
          insert into emp
            (empno, ename, sal, deptno)
          values
            (eno, name, salary, dno);
        else
          raise_application_error(-20001, '工资不在范围内');
        end if;
      exception
        when dup_val_on_index then
          raise_application_error(-20002, '该雇员已经存在');
      end;

      procedure upd_sal(eno number, salary number) is
      begin
        if salary between minsal and maxsal then
          update emp set sal = salary where empno = eno;
          if sql%notfound then
            raise_application_error(-20003, '不存在该雇员号');
          end if;
        else
          raise_application_error(-20001, '工资不在范围内');
        end if;
      end;

      procedure upd_sal(name varchar2, salary number) is
      begin
        if salary between minsal and maxsal then
          update emp set sal = salary where upper(ename) = upper(name);
          if sql%notfound then
            raise_application_error(-20004, '不存在该雇员号');
          end if;
        else
          raise_application_error(-20001, '工资不在范围内');
        end if;
      end;
     
    --构造过程
    begin
      select min(sal), max(sal) into minsal, maxsal from emp;
    end;

  • 相关阅读:
    kafka 生产者消费者 api接口
    湖南省第九届大学生计算机程序设计竞赛 Interesting Calculator
    Debugger DataSet 调试时查看DataSet
    DELPHI 常用虚拟键:VK_
    DBGRID控件里可以实现SHIFT复选吗?怎么设置?
    在dbgrid中如何多行选中记录(ctl与shift均可用)
    如何在DBGrid里实现Shift+“选择行”区间多选的功能!
    按着shift键对dbgrid进行多条记录选择的问题(50分)
    Delphi实现DBGrid Shift+鼠标左键单击 多选
    Delphi定位TDataSet数据集最后一条记录
  • 原文地址:https://www.cnblogs.com/alang85/p/2140774.html
Copyright © 2011-2022 走看看