ORACLE程序包
程序包
包主体/规范名字一样
包主体/规范中的对应参数必须类型及名字一样
只能使用强类型的REF游标
创建程序包规范
create or replace package my_pack
is
procedure find_emp_proc(eno emp.empno%type);
function find_emp_fun(eno emp.empno%type) return emp.ename%type;
end my_pack;
SQL> ed
SQL> /
Package created
调用函数
SQL> select my_pack.find_emp_fun(7788) from dual;
select my_pack.find_emp_fun(7788) from dual
ORA-04068: 已丢弃程序包 的当前状态
ORA-04067: 未执行,package body "SCOTT.MY_PACK" 不存在
ORA-06508: PL/SQL: 无法在调用之前找到程序单元
ORA-06512: 在line 1
执行存储过程
SQL> exec my_pack.find_emp_proc(7788);
begin my_pack.find_emp_proc(7788); end;
ORA-04068: 已丢弃程序包 的当前状态
ORA-04067: 未执行,package body "SCOTT.MY_PACK" 不存在
ORA-06508: PL/SQL: 无法在调用之前找到程序单元
ORA-06512: 在line 2
创建程序包主体
create or replace package body my_pack
is
empname emp.ename%type;
procedure find_emp_proc(eno emp.empno%type)
is
begin
select ename into empname from emp where empno=eno;
dbms_output.put_line(empname);
end;
function find_emp_fun(eno emp.empno%type) return emp.ename%type
is
begin
select ename into empname from emp where empno=eno;
&nb
相关文档:
1.准备工作:
安装32位或64位RHEL5.4,安装向导中不需要选任何组件,不需要预配置任何用户,IP是DHCP或静态皆可。
安装后配置额外组件:
yum -y install libXp,make,binutils,gcc,kernel-headers,glibc-headers,glibc-devel,libgomp
在x86_64上还需要compat-libstdc++-33.x86_64
对x86,上传并解压10201_database_lin ......
SQL的优化应该从
5
个方面进行调整:
1.去掉不必要的大型表的全表扫描
2.缓存小型表的全表扫描
3.检验优化索引的使用
4.检验优化的连接技术
5.尽可能减少执行计划的
Cost
SQL语句:
是对数据库(
数据
)
进行操作的惟一途径;
消耗了70%~90%
的数据库资源;独立于程序设计逻辑,相对于对程序源代码的优化, ......
ORACLE游标
游标:容器,存放当前SQL语句影响的记录
所有DML语句都会用到游标
逐行处理影响的行数
游标
静态游标:游标与SQL语句在运行前关联
&nb ......