--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;
分享到:
相关推荐
7. **集合型**:VARRAY和NESTED TABLE是两种集合类型,用于存储数组或表格形式的数据。 二、Oracle 10g数据库管理员(DBA)操作 1. **数据库创建与管理**:DBCA(Database Configuration Assistant)用于图形化...
在Oracle数据库管理中,经常会遇到各种错误,本文主要讨论了三个常见的Oracle错误及其解决方案。 首先,关于用户和修改用户密码的问题。Oracle数据库默认有一些预设的用户名和密码,例如Scott/tiger,System/...
4. 集合类型:介绍PL/SQL的集合类型如VARRAYs和 Associative Arrays,以及如何操作集合。 5. 游标:深入理解游标的使用,包括显式和隐式游标,以及如何在PL/SQL中进行游标循环。 6. 异常处理:讨论如何在PL/SQL中...
在Java中调用Oracle函数并处理返回的Oracle特定数据类型,如集合或索引表,通常涉及到Oracle的PL/SQL包和Java的JDBC驱动。以下是对这个主题的详细说明: 1. **Oracle索引表类型**: Oracle索引表是一种PL/SQL数据...
本实例开发将深入探讨Oracle在文件管理、关系数据库、对象关系数据库以及XML数据库技术方面的应用,旨在帮助开发者和管理员理解如何利用Oracle的优势来优化数据处理。 首先,让我们详细了解一下Oracle中的文件技术...
6. 集合、对象-关系特性和本地动态SQL:探索集合类型如数组、表等,对象关系特性和动态SQL的高级用法,这些都是提高数据库应用灵活性的关键技术。 本书还包含了大量实例和练习题,帮助读者通过实践来加深理解并掌握...
本课件集合了Oracle数据库应用的相关知识,旨在帮助学习者深入理解和掌握Oracle数据库的核心概念、操作和应用。 一、Oracle数据库基础 Oracle数据库采用SQL语言进行数据查询和管理,它支持多种数据类型,包括数值型...
实例是Oracle数据库的运行环境,数据库是Oracle数据库的集合,表空间是Oracle数据库的逻辑存储单元。 8. Oracle数据库基本概念:数据、信息、数据库等。数据是未经加工的原始素材,信息是经过加工的数据,数据库是...
- Oracle中的实例(Instance)是内存结构和进程的集合,它连接到一个或多个数据库(Database)。初始化参数文件(Initialization File)用于配置实例。 - 而DB2的数据库管理器配置文件(Database Manager ...
在实际应用中,Oracle 中实现 Split 函数功能可以用于各种数据处理场景,例如数据清洁、数据转换和数据分析等。例如,在数据清洁中,我们可以使用这个函数来拆分字符串,以便更好地处理和分析数据。在数据转换中,...
本篇将深入探讨Ibatis3在Oracle数据库环境下的具体应用实例,涵盖CRUD(创建、读取、更新、删除)操作以及动态SQL的使用。 一、Ibatis3简介 Ibatis3是MyBatis的前身,它放弃了Hibernate的全对象关系映射,转而采用...
- **实例(Instance)**:在DB2和Oracle中,实例都指的是数据库管理系统运行时的一个独立进程或一组进程。 - **数据库(Database)**:两者均提供了一个存储、管理和检索数据的集合。 - **初始化参数...
这个操作类似于集合理论中的差集概念,但要注意的是,Oracle中的`MINUS`处理的是行级数据,而不是简单的数值减法。 在使用`MINUS`时,有几个关键点需要注意: 1. **相同列数和数据类型**:A和B必须具有相同的列数...
SID曾是识别数据库实例的主要方式,但在8.1.7版本后,Oracle引入了服务概念,推荐用户尽快从SID迁移到服务,因为SID在后续的某个版本中将不再被支持。 服务URL的基本格式为: ``` jdbc:oracle:thin:[<user>/]@//[:]...
- **表类型**:也称为集合类型,可以存储多行数据。 6. **PL/SQL与SQL的交互** - **嵌入式SQL**:在PL/SQL代码中直接使用SQL语句进行数据操作。 - **动态SQL**:在运行时构建和执行SQL语句,提供更高的灵活性。 ...
Oracle数据库作为业界领先的DBMS之一,其功能强大且稳定,被广泛应用于各种业务场景中。本文档旨在为初学者提供Oracle数据库的基础知识,包括基本的操作命令和常用的功能。 #### 二、数据库基础概述 在正式学习...
### Oracle存储过程、函数、触发器应用举例 #### 一、存储过程 **1.1 存储过程的概念** 存储过程是一种预编译的SQL代码集合,它可以在Oracle数据库服务器上执行复杂的逻辑处理任务。存储过程可以接受输入参数并...
同时,他们还将了解到Oracle的物理设计技术,对象数据类型和LOB数据类型的使用,为今后的数据库应用开发打下坚实基础。教材《Oracle数据库应用与实践》由清华大学出版社出版,方巍编著,是学习本课程的重要参考资料...
Oracle支持多种数据类型,包括数字类型(如NUMBER)、字符类型(如VARCHAR2)和日期时间类型(如DATE)。理解这些数据类型对于正确地设计数据库表至关重要。 #### 创建表和约束 在Oracle中创建表时,可以为表定义...