--condition--
create table t1(id int);
create table t2(id int);
create table t3(id int);
create or replace package aa_test is
-- Author : tom
-- Created : 2010-5-10 17:04:24
-- Purpose :
type tom_re is record(
id t1.id%type);
type tom_insert_tab is table of tom_re index by binary_integer;
tom_insert_array tom_insert_tab;
procedure tom_insert(iv_tom_insert_array in tom_re);
procedure tom_print;
procedure tom_print1;
procedure tom_print2;
procedure tom_print3;
end aa_test;
create or replace package body aa_test is
procedure tom_insert(iv_tom_insert_array in tom_re) is
begin
insert into t3 (id) values (iv_tom_insert_array.id);
end tom_insert;
procedure tom_print is
cursor cur_tom is
select * from t1;
begin
open cur_tom;
loop
fetch cur_tom bulk collect
into tom_insert_array; --这种情况,只循环一遍--
for i in 1 .. tom_insert_array.count loop
dbms_output.put_line('----' || tom_insert_array(i).id);
end loop;
exit when cur_tom%notfound;
end loop;
close cur_tom;
dbms_output.put_line('----' || tom_insert_array.count);
tom_insert_array.delete; --清空数组--
dbms_output.put_line('----' || tom_insert_array.count);
end tom_print;
procedure tom_print1 is
cursor cur_tom is
select * from t1;
begin
open cur_tom;
fetch cur_tom bulk collect
into tom_insert_array; --这种情况,只循环一遍--
for i in 1 .. tom_insert_array.count loop
dbms_output.put_line('----' || tom_insert_array(i).id);
end loop;
close cur_tom;
end tom_print1;
procedure tom_print2 is
cursor cur_tom is
select * from t1;
v_id integer;
begin
open cur_tom;
loop
fetch cur_tom
into v_id; --循环多遍--
exit when cur_tom%notfound;
dbms_output.put_line('--v_id--' || v_id); --这种情况需要放exit后面--
end loop;
close cur_tom;
end tom_print2;
procedure tom_print3 is
cursor cur_tom is
select * from t1;
begin
open cur_tom;
fetch cur_tom bulk collect
into tom_insert_array; --这种情况,只循环一遍--
for i in 1 .. tom_insert_array.count loop
tom_insert(tom_insert_array(i));
dbms_output.put_line('--insert times:--'|| i);
end loop;
close cur_tom;
commit;
end tom_print3;
end aa_test;
分享到:
相关推荐
OCCI是访问Oracle对象关系功能(如对象类型,继承,关系和集合)的自然界面。对象在OCCI中表示为C ++类实例,从而实现应用程序和数据库之间的无缝集成。具有客户端对象缓存的导航访问方法提供了完整的数据库透明性。
有近20年使用Oracle技术产品以及Oracle数据库管理员/Oracle数据库应用管理员的经验,是真正应用集群、性能调优以及数据库内部属性方面的专家。同时是一位演讲家及Oracle ACE。 JARED STILL 从1994年就开始使用...
他的关注方向包括Oracle产品集,以及其他前沿技术和这些技术在优化数据仓库设计和部署的应用。他还是各种技术会议的主讲人,包括COLLABORATE、Oracle OpenWorld和其他地方与区域会议。 Michael Abbey是公认的...
《Oracle11g宝典》是Oracle数据库管理员、安全管理员、网络管理员、应用开发人员的参考指南,还是Oracle技术支持和培训机构、Oracle学习班、高等院校计算机专业数据库课程的参考教材和上机指导教材。每类人员都...
Bob Bryla是Oracle 9i和10g的认证专家,他在数据库设计、数据库应用程序开发、培训和Oracle数据库管理等方面拥有20多年的工作经验,他也足Dodgeville的Land'End公司的首席Internet数据库设计师和Oracle DBA. ...
1.3 Oracle Database 11g的基本数据类型 1.3.1 varchar2 1.3.2 数字 1.3.3 日期 1.3.4 时间戳 1.3.5 clob 1.3.6 blob 1.4 表 1.5 存储对象 1.5.1 视图 1.5.2 触发器 1.5.3 过程 1.5.4 函数 1.5.5 包 1.6 Oracle ...
第5版是基于Oracle数据库11g的R1、R2两个版本的最新版,包含了语法、建议、大量实例和许多新的信息。 ?了解新特征,包括基于版本的重定义功能、函数结果缓存功能、CONTINUE语句、复合触发器和针对大对象的...
第5版是基于Oracle数据库11g的R1、R2两个版本的最新版,包含了语法、建议、大量实例和许多新的信息。 ?了解新特征,包括基于版本的重定义功能、函数结果缓存功能、CONTINUE语句、复合触发器和针对大对象的...
1.在多进程Oracle实例系统中,进程分为用户进程、后台进程和服务进程。 2.标准的SQL语言语句类型可以分为:数据定义语句(DDL)、数据操纵语句(DML)和数据控制语句(DCL)。 3.在需要滤除查询结果中重复的行时,必须...
Oracle数据库的应用系统结构 11 七. 补充资料——oracle安装时出现的问题 12 第二讲 Oacle数据库体系结构 14 一. 物理存储结构——(数据库载体) 14 1.数据文件(.DBF) 14 2.日志文件 (.Log) 14 1) 日志文件 ...
实例022 自动类型转换与强制类型转换 33 2.2 运算符 34 实例023 加密可以这样简单(位运算) 34 实例024 用三元运算符判断奇数和偶数 35 实例025 更精确地使用浮点数 35 实例026 不用乘法运算符实现2×16 37 实例027...
Bob Bryla是Oracle 9i和10g的认证专家,他在数据库设计、数据库应用程序开发、培训和Oracle数据库管理等方面拥有20多年的工作经验,他也足Dodgeville的Land'End公司的首席Internet数据库设计师和Oracle DBA. ...