表 (相当于数组)
定义一个表类型的语法如下:
TYPE tabletype IS TABLE OF type INDEX BY BINARY_INTEGER
其中Tabletype是被定义的表类型的名,Type是预定义的标量类型或者%TYPE来引用的标量类型。表的索引是BINARY_INTEGER类型,当定义了表类型后,就可以声明该类型的变量了。
--定义表类型t_NameTable,其元素类型是auths数据库表中的name列的类型
TYPE t_NameTable IS TABLE OF auths.name%TYPE
INDEX BY BINARY_INTEGER;
--定义表类型t_Address,其元素类型是auths表中的address列的类型
TYPE t_AddressTable IS TABLE OF auths.address%TYPE
INDEX BY BINARY_INTEGER;
--声明两个表类型变量
v_name t_NameATable;
v_Address t_AddressTable;
当定义了表类型,并声明了这个类型变量后,就可以通过下面的语法应用PLSQL表中的元素了:
tablename(index);
其中tablename是表明,index是表的索引,它用BINARY_INTEGER类型的变量或是能够转换成BINARY_INTEGER类型的表达式表示.
使用上面的表,为表元素赋值:
BEGIN
v_Name(2) := 'Wang';
v_Address(-3) := 'streetr 1';
END;
eg2:
DECLARE
TYPE t_AuthorRecord IS TABLE OF auths%ROWTYPE
INDEX BY BINARY_INTEGER;
v_Auths t_AuthorRecord;
BEGIN
SELECT *
INTO v_Auths(00009)
FROM auths
WHERE author_code = 'A00009';
END;
因为v_Auths表中的每一个元素都是记录,所以可以通过下面的语法引用记录中的域
table(index).field
记录表在相当程度上提高了PLSQL表的功能,因为一个记录表就可以存放一个数据库表中的所有信息。
PLSQL表与数组一样,当时表的实际结构与数组是不一样的,它与C中的数组有以下不同:
1)PLSQL表中的元素没有特定的顺序,因为表中的元素不像数组一样被连续地存储在一个空间内。
2)在PLSQL表中的KEY不必是连续的,任意BINARY_INTEGER类型的值或是表达式都可以作为表的索引(key列)。
3)当向一个PLSQL表中插入一个元素时,就为该表分配了用以存放该元素的存储空间。plsql表的大小是没有限制的。
表属性
PLSQL中,不仅引入了表,而且通过了表属性扩展了PLSQL表的功能,使用表属性的语法是:
table.attribute
语法 返回类型 描述
Table.COUNT NUMBER 返回PLSQL表中元素个数
Table.DELETE N/A删除PLSQL表中所有元素
Table.DELETE(i) N/A 删除PLSQL表中索引号为i指定的元素
Table.DELETE(i,j) N/A 删除PLSQL表中索引号i到j之间(包括i和j)指定的元素
Table.EXISTS(i) BOOLEAN 如果PLSQL表中索引号为i的元素存在,则返回TRUE
Table.FIRSTBINARY_INTEGER返回PLSQL表中最后一个元素(索引号最小)的索引
Table.LAST BINARY_INTEGER 返回PLSQL表中最后一个元素(索引号最大)的索引
Table.NEXT(i)BINARY_INTEGER 返回PLSQL表中索引号为i的元素的后继一个元素的索引
Table.PRIOR(i) BINARY_INTEGER 返回PLSQL表中索引号i的元素的前一个元素的索引
表中的索引号从1开始,每增加一个元素,索引号随之增加1,也就是说索引号为1的下一个元素的索引号是2,再下一个元素的索引号为3,以此类推,使用这样的方法建立的PLSQL表,其表元素在控制结构体中的循环实现起来更简单,当PLSQL块在Pro*C或OCI程序中北调用或被嵌入时,使用上述所有方法建立的PLSQL表能绑定到C语言的数组上.
分享到:
相关推荐
PLSQL基础知识讲解,PLSQL基础知识讲解,PLSQL基础知识讲解,PLSQL基础知识讲解,PLSQL基础知识讲解,PLSQL基础知识讲解
plsql基础
PLSQL基础 看完这个,基本的存储过程什么的,应该是没有问题的.
"PLSQL基础入门教程-必看" 作为PLSQL基础入门教程,这篇文章旨在为读者提供一个系统的PLSQL入门指南。从PLSQL的基本概念到高级应用,本教程涵盖了PLSQL的所有方面,为读者提供了一个全面的学习体验。 首先,让我们...
PLSQL基础入门 PLSQL是Oracle数据库中的一种过程语言,用于编写存储过程、函数和触发器。PLSQL的基础知识点包括变量声明、数据类型、控制结构、异常处理等。 一、基础概念 1. PL/SQL是不区分大小写的,除非是由...
在PLSQL Developer中,导出表的操作主要通过“工具”菜单中的“数据泵导出”功能完成。首先,选择要导出的数据库连接,然后在弹出的对话框中指定导出的对象,如特定的表或视图。可以设置导出的数据格式(如DMP、CSV...
本文为如何使用plsql新创建表空间,简单实用,速度快。希望大家多多交流,谢谢支持!
通过这份“PLSQL基础学习学习课件”,初学者可以逐步了解并掌握PLSQL的基本概念、语法和应用,为进一步的数据库开发和管理打下坚实基础。这份课件将详细解析上述知识点,并通过实例演示如何编写和执行PLSQL代码,...
标题中的“PLSQL基础和ORACLE基础”涵盖了两个主要的数据库技术领域,即PL/SQL(Procedural Language/Structured Query Language)和Oracle数据库的基础知识。PL/SQL是Oracle数据库支持的一种过程化编程语言,而...
内容包括: 1.SQL基础; 2.ORACLE函数 3.PLSQL程序设计
PLSQL支持多种数据类型,包括数值型(NUMBER)、字符型(VARCHAR2、CHAR)、日期型(DATE)以及复合类型(记录、数组等)。 PLSQL中的控制流程结构与许多其他编程语言类似,包括条件语句(IF-THEN-ELSIF-ELSE)、...
本文档用于描述基于PLSQL的一些SQL基础知识及使用技巧,便于相关人员了解基础SQL的语法知识及简单的使用技巧,以便于在实际的工作中能更好的处理遇到的一些问题。 通过本文档的学习希望可以到达能使用PLSQL进行基础...
大量源码案例,手把手教你PLSQL数据库开发。内容预览: ---- 第一章 PL/SQL 简介 ---- ---- 第二章 PL/SQL程序结构 ---- ---- 第三章 变量与数据类型 ---- ---- 第四章 PL/SQL控制语句 ---- ---- 第五章 PL/SQL游标 ...
PLSQL基础.zip PLSQL基础.zipPLSQL基础.zipPLSQL基础.zipPLSQL基础.zipPLSQL基础.zipPLSQL基础.zipPLSQL基础.zipPLSQL基础.zipPLSQL基础.zipPLSQL基础.zipPLSQL基础.zipPLSQL基础.zip
plsql基础
二、导入表结构和表数据 在PLSQL DEVELOPER中,导入表结构和表数据也需要进行不同的操作。 1. 导入表结构 首先,需要进入要导入的数据库,然后在PLSQL DEVELOPER中点击“工具”--“导入表”,选择“ORACLE 导入”...
PLSQL基础资料学习,非常适合初学者学习,里面写了PLSQL的基础资料.
麻雀虽小五脏俱全,包含了plsql 所需掌握的必备知识
oracle plsql基础入门,基础知识
Oracle PLSQL基础培训_练习.ppt