PLSQL中集合使用笔记1
总体中PLSQL中的集合大致有:
1.索引表,也称为关联数组,可以让我们使用数字或字符串作下标来查找元素。(这有点和其他语言中的哈希表相类似。)
2.嵌套表可以容纳任意个数的元素,使用有序数字作下标。我们可以定义等价的SQL类型,把嵌套表存到数据库中去,并通过SQL语句进行操作。
3.变长数组能保存固定数量的元素(但可以在运行时改变它的大小),使用有序数字作为下标。同嵌套表一样,也可以保存到数据库中去,但灵活性不如嵌套表好。
理解嵌套表基本使用
在数据库中,嵌套表可以被当作单列的数据表来使用。Oracle在往嵌套表中存放数据时是没有特定顺序的。但是,当我们把检索出来的数据存放在PL/SQL变量时,所有行的下标就会从1开始顺序编号。这样,就能像访问数组那样访问每一行数据。
要点:
1.1 从1开始,不是从0开始。且必须从1开始。
1.2 没有上限,若是需要扩展,extend以下。
1.3 定义语法:
TYPE test IS TABLE OF varchar2(20);//定义个类型为字符串的嵌套表,表名:test。
1.4 使用案例:将查询中的数据存放到嵌套表中:
-- 定义嵌套表
TYPE m_table IS TABLE OF varchar2(200); --定义嵌套表
mp m_table := m_table(); --新建一个类型
-- 定义游标
cursor c_test is
select p.testid from test_table p where p.roleid = '22';
-- 将数据放入嵌套表中
for cc in c_test loop
mp.extend;
i_int := i_int + 1;
mp(i_int) := cc.testid;
end loop;
--循环遍历嵌套表
for j in mp.first .. mp.last loop
dbms_out.put_line(j);
end loop;
分享到:
相关推荐
本“PLSQL学习笔记”将逐步讲解这些概念,通过实例和练习帮助读者巩固理解,进一步提升在Oracle数据库开发中的技能。无论你是初学者还是有经验的开发者,这份笔记都能提供有价值的参考。通过深入学习和实践,你将...
声明游标后,可以使用FETCH语句获取当前行,然后在循环中使用。例如: ```sql DECLARE CURSOR c_emp IS SELECT * FROM employees; emp_rec employees%ROWTYPE; BEGIN OPEN c_emp; FETCH c_emp INTO emp_rec; ...
plsql创建存储过程并创建job定时任务执行详细笔记文档总结 在 Oracle 中,plsql 是一种强大的编程语言,可以用来创建存储过程和定时任务执行。在本文中,我们将详细介绍如何使用 plsql 创建存储过程并创建 job 定时...
本笔记集合将带你从基础入门到深入掌握PLSQL的核心概念和技术,包括“Hello World”式的简单示例,触发器的使用,以及包和游标的高级应用。 首先,让我们从"Hello World"开始。在PLSQL中,你可以创建一个简单的存储...
### 精通Oracle 10g PL/SQL编程学习笔记 #### 一、PL/SQL综述 **1.1 PL/SQL的功能与作用** PL/SQL (Procedural Language for SQL) 是一种专门为Oracle数据库设计的过程化语言,它结合了SQL的数据处理能力与过程化...
8. **存储过程和函数**:存储过程是一组PLSQL语句的集合,可以在数据库中存储和调用,提高效率。函数则是返回一个值的存储过程,可以作为表达式的一部分使用。 9. **触发器**:触发器是响应特定数据库事件(如...
1. 数组类型是一组成员的集合,每个成员都有一个唯一的下标,他取决于成员在数组中的位置。 2. 在 PL/SQL 中数组类型时 VARRAY(可变数组)。 使用 %rowtype 1. 返回一个记录类型,其数据类型和数据库表中的数据...
根据给定的信息,本文将对《PLSQL笔记(EFRIOO&GUOH)1.doc》中的主要内容进行详细解析,涵盖数据库检索、数据操纵、事务控制、控制结构、复合数据类型等多个方面。 ### 一、检索单行数据 #### 1.1 使用标量变量接受...
- 游标用于逐行处理SQL查询结果,通常在循环中使用。 - DECLARE语句中声明游标,OPEN语句打开游标,FETCH获取数据,CLOSE关闭游标。 7. **异常处理** - 使用EXCEPTION部分可以捕获并处理运行时错误,如NO_DATA_...
- 在`FORALL`语句中使用部分集合元素。 - 使用`INDECS OF`子句。 - 使用`VALUES OF`子句。 - 使用`SQL%BULK_ROWCOUNT`属性。 - **BULK COLLECT子句**: - 在`SELECT INTO`语句中使用`BULK COLLECT`子句。 - ...
这些知识点只是PLSQL学习笔记的冰山一角,实际学习过程中还会涉及更多的细节,如游标的高级用法、PLSQL的性能优化、数据库设计原则等。通过深入理解和实践,你将能够更好地掌握这个强大的数据库编程语言,并在Oracle...
在实际应用中,PLSQL常常与Oracle的存储过程、触发器、包(PACKAGE)一起使用。存储过程是一组PLSQL语句的集合,可作为独立的数据库对象进行调用;触发器则是在特定数据库事件发生时自动执行的PLSQL代码,如INSERT、...
**1. PL/SQL 编辑器** - **语法增强与帮助功能**:提供语法高亮显示、SQL 和 PL/SQL 的语法帮助。 - **对象描述与代码助手**:显示当前对象的信息,并提供代码建议。 - **编译器提示与完善功能**:在代码编写过程中...
1. **CXF学习笔记**:CXF是一个开源的Java框架,用于构建和开发服务导向架构(SOA)和RESTful应用程序。笔记会讲解如何使用CXF创建和消费Web服务,包括SOAP和REST接口的实现,以及CXF的配置和调试技巧。 2. **...
### 韩顺平Oracle视频笔记知识点概览 #### 1. Oracle 用户管理 - **概念**:在Oracle数据库中,用户是用来管理访问权限的基本单位。每个用户都可以有自己的模式(schema),其中包含各种对象如表、视图等。 - **创建...
oralce 数据库 DBA 实战 运维经验 PLSQL 存储过程编程开发【视频加文档】,运维笔记,资料集合,经验分享。
- **事务概念**:事务是一系列操作的集合,在这些操作中要么全部成功,要么全部失败。 - **范式**:数据库设计的标准化过程,用于减少数据冗余和提高数据一致性。 - **事务处理**:包括提交、回滚、保存点等操作。 ...