`

PLSQL基础(二) 表(相当于数组)

阅读更多

表 (相当于数组)

定义一个表类型的语法如下:

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基础(ppt)

    plsql基础

    PLSQL基础PLSQL基础

    PLSQL基础 看完这个,基本的存储过程什么的,应该是没有问题的.

    PLSQL基础入门教程-必看

    "PLSQL基础入门教程-必看" 作为PLSQL基础入门教程,这篇文章旨在为读者提供一个系统的PLSQL入门指南。从PLSQL的基本概念到高级应用,本教程涵盖了PLSQL的所有方面,为读者提供了一个全面的学习体验。 首先,让我们...

    PLSQL基础入门

    PLSQL基础入门 PLSQL是Oracle数据库中的一种过程语言,用于编写存储过程、函数和触发器。PLSQL的基础知识点包括变量声明、数据类型、控制结构、异常处理等。 一、基础概念 1. PL/SQL是不区分大小写的,除非是由...

    使用PLSQL导出导入表

    在PLSQL Developer中,导出表的操作主要通过“工具”菜单中的“数据泵导出”功能完成。首先,选择要导出的数据库连接,然后在弹出的对话框中指定导出的对象,如特定的表或视图。可以设置导出的数据格式(如DMP、CSV...

    plsql新建表空间

    本文为如何使用plsql新创建表空间,简单实用,速度快。希望大家多多交流,谢谢支持!

    PLSQL学习基础课件PPT

    通过这份“PLSQL基础学习学习课件”,初学者可以逐步了解并掌握PLSQL的基本概念、语法和应用,为进一步的数据库开发和管理打下坚实基础。这份课件将详细解析上述知识点,并通过实例演示如何编写和执行PLSQL代码,...

    PLSQL基础和ORALCE基础

    标题中的“PLSQL基础和ORACLE基础”涵盖了两个主要的数据库技术领域,即PL/SQL(Procedural Language/Structured Query Language)和Oracle数据库的基础知识。PL/SQL是Oracle数据库支持的一种过程化编程语言,而...

    PLSQL培训基础教材

    内容包括: 1.SQL基础; 2.ORACLE函数 3.PLSQL程序设计

    PLSQL基础入门手册

    PLSQL支持多种数据类型,包括数值型(NUMBER)、字符型(VARCHAR2、CHAR)、日期型(DATE)以及复合类型(记录、数组等)。 PLSQL中的控制流程结构与许多其他编程语言类似,包括条件语句(IF-THEN-ELSIF-ELSE)、...

    PLSQL 基础教程

    本文档用于描述基于PLSQL的一些SQL基础知识及使用技巧,便于相关人员了解基础SQL的语法知识及简单的使用技巧,以便于在实际的工作中能更好的处理遇到的一些问题。 通过本文档的学习希望可以到达能使用PLSQL进行基础...

    ORACLE 数据库开发_PLSQL基础.doc

    大量源码案例,手把手教你PLSQL数据库开发。内容预览: ---- 第一章 PL/SQL 简介 ---- ---- 第二章 PL/SQL程序结构 ---- ---- 第三章 变量与数据类型 ---- ---- 第四章 PL/SQL控制语句 ---- ---- 第五章 PL/SQL游标 ...

    PLSQL基础.zip

    PLSQL基础.zip PLSQL基础.zipPLSQL基础.zipPLSQL基础.zipPLSQL基础.zipPLSQL基础.zipPLSQL基础.zipPLSQL基础.zipPLSQL基础.zipPLSQL基础.zipPLSQL基础.zipPLSQL基础.zipPLSQL基础.zip

    plsql基础知识及其实践

    plsql基础

    如何利用PLSQL DEVELOPER导入导出数据库表

    二、导入表结构和表数据 在PLSQL DEVELOPER中,导入表结构和表数据也需要进行不同的操作。 1. 导入表结构 首先,需要进入要导入的数据库,然后在PLSQL DEVELOPER中点击“工具”--“导入表”,选择“ORACLE 导入”...

    PLSQL基础资料学习

    PLSQL基础资料学习,非常适合初学者学习,里面写了PLSQL的基础资料.

    PLSQL基础学习手册

    麻雀虽小五脏俱全,包含了plsql 所需掌握的必备知识

    oracle plsql基础培训

    oracle plsql基础入门,基础知识

    Oracle PLSQL基础培训_练习.ppt

    Oracle PLSQL基础培训_练习.ppt

Global site tag (gtag.js) - Google Analytics