Oracle概念:过程、函数、程序包
2009-06-09 13:15:41 来源:WEB开发网并没有为过程提供代码,只是定义了名称和参数。
这个时候如果试图使用这个包,会报错
exec employee_pkg.print_ename(1234);
主体:
程序包是过程,函数的具体实现部分,实现规范中定义的接口。
CREATE OR REPLACE
PACKAGE BODY employee_pkg as
Procedure print_ename(p_empno number) is
L_ename emp.ename%type;
Begin
Select ename into l_ename from emp where empno=p_empno;
Dbms_output.put_line(l_ename);
Exception
When no_data_found then
Dbms_output.put_line(‘Invalid employee number’);
End print_ename;
Procedure print_sal(p_empno number) is
L_sal emp.sal%type;
Begin
Select sal into l_sal from emp where empno=p_empno;
Dbms_output.put_line(l_sal);
Exception
When NO_DATA_FOUND then
Dbms_output.put_line(‘Invalid employee number’);
End print_sal;
End employee_pkg;
/
执行:
set serveroutput on
exec employee_pkg.print_ename(1234);
exec employee_pkg.print_ename(7782);
exec employee_pkg.print_sal(7782);
过程和函数的重载:
在单独的程序包中定义的共享相同名称的两个或者多个过程和函数。单独的过程和函数必须具有唯一的名称,但是程序包中可以有条件的共享相同的名称。
条件:参数列表在数量、次序或者参数类型上有所区别,比如
procedure foo(p1 varchar2);
procedure foo(p1 number);
procedure foo(p1 varchar2, p2 number);
- ››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修改表的两种方式
更多精彩
赞助商链接