WEB开发网
开发学院数据库Oracle Oracle概念:过程、函数、程序包 阅读

Oracle概念:过程、函数、程序包

 2009-06-09 13:15:41 来源:WEB开发网   
核心提示: procedure foo(p1 varchar2, p2 varchar2);但是:只在参数名称、输入输出模式、或者返回类型上不同,是不够的,Oracle概念:过程、函数、程序包(9),比如procedure foo(p1 varchar2);procedure foo(p2 varch

procedure foo(p1 varchar2, p2 varchar2);

但是:只在参数名称、输入输出模式、或者返回类型上不同,是不够的。比如

procedure foo(p1 varchar2);

procedure foo(p2 varchar2);

procedure foo(p1 in varchar2);

procedure foo(p1 in out varchar2);

例如

desc dbms_output

试验:重载SWAP()

之前的例子:

create or replace

procedure swap(

p1 in out number,

p2 in out number ) as

---

l_temp number;

begin

l_temp := p1;

p1 := p2;

p2 := l_temp;

end swap;

/

该例子只能实现交换数值,我们将其包装,并进行重载,使其也可以交换varchar2 和 date

(1) 建立规范

create or replace package utilities as

procedure swap(p1 in out number, p2 in out number);

procedure swap(p1 in out varchar2,p2 in out varchar2);

procedure swap(p1 in out date,p2 in out date);

end utilities;

/

(2) 建立主体

create or replace package body utilities as

procedure swap(p1 in out number, p2 in out number ) as

l_temp number;

begin

dbms_output.put_line(‘Swapping number’);

l_temp := p1;

p1 := p2;

p2 := l_temp;

end swap;

procedure swap(p1 in out varchar2,p2 in out varchar2) as

l_temp varchar2(32767);

begin

dbms_output.put_line(‘Swapping varchar2’);

l_temp := p1;

p1 := p2;

上一页  4 5 6 7 8 9 10  下一页

Tags:Oracle 概念 过程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接