Oracle數(shù)據(jù)庫包的構造過程實例
作者:痞子過
本文我們主要介紹了Oracle數(shù)據(jù)庫包的構造過程實例,并給出了詳細的代碼,希望能夠對您有所幫助。
Oracle數(shù)據(jù)庫包的構造過程是沒有任何名稱的,它是在實現(xiàn)了包的其他過程之后,以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, '該雇員已經(jīng)存在');
- 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;
3.構造過程
- begin
- select min(sal), max(sal) into minsal, maxsal from emp;
- end;
關于Oracle數(shù)據(jù)庫包的構造過程實例的知識就介紹到這里了,希望本次的介紹能夠對您有所收獲!
【編輯推薦】
責任編輯:趙鵬
來源:
博客園