PL/SQL包2(使用包重载)
来源:互联网 发布:点卡平台源码 编辑:程序博客网 时间:2024/06/02 22:32
重载(overload)是指多个具有相同名称的子程序。定义包时,使用重载特性,可以使用户在调用同名组件时使用不同参数传递数据,从而方便用户使用。
1、建立包规范
1、建立包规范
CREATE OR REPLACE PACKAGE pkg_overloadIS FUNCTION get_sal(eno NUMBER) RETURN NUMBER; FUNCTION get_sal(NAME VARCHAR2) RETURN NUMBER; PROCEDURE fire_employee(eno NUMBER); PROCEDURE fire_employee(NAME VARCHAR2);END pkg_overload;/2、建立包体
CREATE OR REPLACE PACKAGE BODY pkg_overloadIS FUNCTION get_sal(eno NUMBER) RETURN NUMBER IS v_sal emp.sal%TYPE; BEGIN SELECT sal INTO v_sal FROM emp WHERE empno = eno; RETURN v_sal; EXCEPTION WHEN NO_DATA_FOUND THEN RAISE_APPLICATION_ERROR(-20000,'雇员不存在'); END; FUNCTION get_sal(NAME VARCHAR2) RETURN NUMBER IS v_sal emp.sal%TYPE; BEGIN SELECT sal INTO v_sal FROM emp WHERE UPPER(ename) = UPPER(NAME); RETURN v_sal; EXCEPTION WHEN NO_DATA_FOUND THEN RAISE_APPLICATION_ERROR(-20000,'雇员不存在'); END; PROCEDURE fire_employee(eno NUMBER) IS BEGIN DELETE FROM emp WHERE empno = eno; IF SQL%NOTFOUND THEN RAISE_APPLICATION_ERROR(-20000,'雇员不存在'); END IF; END; PROCEDURE fire_employee(NAME VARCHAR2) IS BEGIN DELETE FROM emp WHERE UPPER(ename) = UPPER(NAME); IF SQL%NOTFOUND THEN RAISE_APPLICATION_ERROR(-20000,'雇员不存在'); END IF; END;END pkg_overload;3、调用重载过程和重载函数
SQL> VAR sal1 NUMBER;SQL> VAR sal2 NUMBER;SQL> EXEC :sal1 := pkg_overload.get_sal('SCOTT');SQL> EXEC :sal2 := pkg_overload.get_sal(7788);SQL> print sal1,sal2;SQL> EXEC pkg_overload.fire_employee(1112);SQL> EXEC PKG_OVERLOAD.fire_employee('张三');
0 0
- PL/SQL包2(使用包重载)
- PL/SQL --> 包重载、初始化
- PL/SQL --> 包重载、初始化
- 包(pl/sql)
- PL/SQL-->包重载、初始化
- PL/SQL包3(使用包构造过程)
- pl/sql(3)---包
- PL/SQL包4(使用纯度级别)
- PL/SQL --> DBMS_DDL包的使用
- PL/SQL:学会使用DBMS_JOB包
- PL/SQL:DBMS_PIPE包的使用
- PL/SQL-->UTL_FILE包的使用介绍
- PL/SQL-->DBMS_DDL包的使用
- PL/SQL:DBMS_PIPE包的使用
- PL/SQL包
- pl/sql开发包
- PL/SQL-包
- PL/SQL-包
- 使用EF6和MVC5实现一个简单的选课系统--创建一个比较复杂的数据模型(6/12)
- 线性表知识
- MyEclipse代码提示快捷键和常用设置
- 微营销:内容好才是真的好
- Somali Pirates
- PL/SQL包2(使用包重载)
- 常用的正则表达式笔记
- Java线程(九):Condition-线程通信更高效的方式
- centos网络配置
- 使用EF6和MVC5实现一个简单的选课系统--使用EF6读取相关数据(7/12)
- 转:An internal error occurred during: "Launching New_configuration". Path for project must have only
- UIWindow & UIWindowLevel笔记
- 责主持影展大
- 打开eclipse时出现Error:could not open D:\java\lib\i386\jvm.cfg‘