Oracle概念:过程、函数、程序包
2009-06-09 13:15:41 来源:WEB开发网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;
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接