pl/sql模块重载

原创 2012年03月30日 17:12:10

 

 

模块重载
  多态:语言能够定义并且选择性的使用多个相同名称的程序中的一个的能力。
  静态多态:在编译时刻决定使用哪个程序。重载即为静态多态。
  动态多态:在运行时刻决定使用哪个程序。
  pl/sql支持在块的声明部分,包的声明部分和包体部分,对象类型的定义中对过程和函数进行重载
重载的限制:
  1、重载的程序的参数中至少一个来自不同的数据类型
    参数的数据类型不同但只是属于不同的子类型,不能进行重载,比如一个参数是char,另一个是varchar2。
    但在从0g开始,使用数字类型的不同子类型,也可以重载,比如一个参数是pls_integer,另一个程序的参数是binary_float。oracle遵循这样的优先级:pls_integer或者binary_integer,number,binary_float,binary_double。
  2、重载程序只是参数的名称不同,在调用时必须使用命名表示法。
  3、不能仅靠参数列表中的参数模式区别重载程序
  4、重载函数不能仅靠返回值的数据类型区分
  5、所有的重载程序必须在相同的pl/sql作用范围或者同一个中定义。
比如:declare
        procedure proc_name (num_in in pls_integer) is
          begin
            dbms_output_put_line('pls_integer version');
          end proc_name;
        procedure proc_name (num_in in number) is
          begin
            dbms_output.put_line('number version');
          end proc_name;
        begin
          proc_name(1.1);
          proc_name(1);
        end;

相关文章推荐

本机不安装Oracle客户端,使用PL/SQL Developer连接远程数据库

附送PL/SQL Developer11中文版下载地址 1、先到Oracle网站下载Instant Client : http://www.oracle.com/technetwork/datab...

oracle 11g数据库+pl/sql developer 组合的安装及配置过程

最近在配置oracle 11g的数据库,第一次接触,花了一天多的时间来做安装和配置,其中做了不少弯路,写下本篇文章,希望对第一次接触oracle的人有些帮助。     首先说一些为什么要用pl/sql...

PL/SQL dev使用指南

1、通过pl/sql dev查看当前会话情况: 2、查看数据库的语言参数

ORACLE PL/SQL编程之八:把触发器说透

ORACLE PL/SQL编程之八:  把触发器说透  本篇主要内容如下: 8.1  触发器类型 8.1.1  DML触发器 8.1.2  替代触发器...

oracle入门很简单:六、开发利器——PL/SQL Developer

PL/SQL 是过程化编程语言(Procedural Language)的简称。PL/SQL Developer是Oracle公司提供的专门针对oracle数据库开发的软件。 1.登录数据库 ...

ORACLE(PL/SQL) 根据字符分割(SPLIT)字符串返回数组

ORACLE没有提供现成的函数来进行字符串的分割,网上有很多中现实方法,本文介绍一种我自己的实现方式。主要是使用Oracle内部函数instr和substr函数的方式来实现。...

PL/SQL进行debug 包以及存储过程

这两天在学习PL/SQL,虽然和MySQL大部分sql语句相似,并且存储过程等相关写法也很相似。但是毕竟是新接触的,难免会遇到各种初学者都会遇到的问题。本文主要讲解当执行sql脚本提示错误时,该如何去...
  • anLA_
  • anLA_
  • 2017年11月10日 16:33
  • 124

pl/sql 过程、函数

pl/sql中proceduce过程与func函数均为一个程序块,是为完成特定功能的pl/sql语句集。并可接受三种类型的参数。 相同点在于: 1.均可使用out类型参数返回值。 2.均由声明、执行和...

PL/SQL Developer 数据生成器使用指南

1. 功能介绍   数据生成器允许你创建演示和测试数据。对于测试应用程序和查看它们怎样执行大量的数据,这可能是有帮助的。你可以在工具菜单的下面找到数据生成器。 基本上,定义由一个或多个表、你...

关于oracle中PL/SQL语句,即存储过程的写法和调用。

1.什么是PL/SQL,有什么作用   --Procedure Language/SQL 过程语言+SQL   --PL/SQL是Oracle数据库内部存储和运行     一段程序   --P...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:pl/sql模块重载
举报原因:
原因补充:

(最多只允许输入30个字)