`
licheng63002
  • 浏览: 2307 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

oracle数据库

 
阅读更多
集合是用来处理多行单列的数据,记录是用来处理单行多列,变量处理单行单列数据,PL/SQL记录表处理多行多列数据
1.索引表
下标可以为负数,并且元素的个数没有限制,只能作为PL/SQL复合数据类型使用.
TYPE type_name IS TABLE OF element_type
[NOT NULL] INDEX BY key_type;
identifier type_name;

type_name用于指定用户自定义数据类型的名称(IS TABLE .. INDEX表示索引表),element_type用于指定索引表元素的数据类型.NOT NULL表示不能引用NULL元素.
key_type用于指定索引表下标的数据类型(BINARY_INTEGER, PLS_INTEGER, VARCHAR2),identifier定义索引表变量
DECLARE
TYPE ename_table_type IS TABLE OF emp.ename%TYPE
   INDEX BY BINARY_INTEGER;
ename_table ename_table_type;
BEGIN
SELECT ename INTO ename_table(-1) FROM emp
   WHERE empno=&no;
dbms_output.put_line('雇员名:'||ename_table(-1));
END;
其中ename_table(-1)表示下标是-1的元素.

DECLARE
TYPE ename_table_type IS TABLE OF NUMBER
   INDEX BY VARCHAR2(10);
ename_table ename_table_type;
BEGIN
ename_table('北京') := 1;
END;

2.嵌套表
元素下标从1开始,元素个数没有限制,值可以是稀疏的.可以作为表列的数据类型使用.
TYPE type_name IS TABLE OF element_type
identifier type_name;
type_name用于指定嵌套表的名字,element_type指定嵌套表元素的数据类型.在使用时,必须先使用构造方法先初始化构造表
(1)在PL/SQL块中使用嵌套表
DECLARE
   TYPE ename_table_type IS TABLE OF emp.ename%TYPE;
   ename_table ename_table_type
BEGIN
   ename_table:=ename_table_type('MARY','MARY','MARY');
   SELECT enmae INTO ename_table(2) FROM emp
   WHERE emp_no=&no;
   dbms_output.put_line('雇员名:'||ename_table(2));
END;
(2)在表列中使用嵌套表
必须先使用CREATE TYPE命令来建立嵌套表类型,当使用嵌套表类型作为表列的数据类型时,必须为嵌套表指定专门的存储表
CREATE TYPE phone_type IS TABLE OF VARCHAR2(20);

CREATE TABLE employee(
   id NUMBER(4), name VARCHAR2(10),sal NUMBER(6,2),
   phone phone_type)NESTED TABLE phone STORE AS phone_type;
 
经过上面的定义后,就可以在建立employee的时间使用这个嵌套类型了.
BEGIN
   INSERT INTO employee VALUES(1, 'SCOTT', 800, phone_type('123456','13245641234'));
END;
3.变长数组(VARRAY)
下标从1开始,元素的最大个数是有限制的.
TYPE type_name, IS VARRAY(size_limit) OF element_type[NOT NULL];
identifier type_name;
使用的时间必须要用构造方法进行初始化,例如:
DECLARE
   TYPE ename_table_type IS VARRAY(20) OF emp.ename%TYPE;
   ename_table ename_table_type:=ename_table_type('A','A');
BEGIN
   SELECT ename INTO ename_table(1) FROM emp
   WHERE empno=&no;
   dbms_output.put_line('雇员姓名:'||ename_table(1));
END;

VARRAY也可以作为列的数据类型使用,在表中引用此数据类型必须先create type
CREATE TYPE phone_type IS VARRAY(20) OF VARCHAR2(20);
CREATE TABLE employee(
   id NUMBER(4),
   name VARCHAR2(20),
   sal NUMBER(6,2),
   phone phone_type);
分享到:
评论

相关推荐

    Oracle数据库课程设计医院系统数据库源代码.zip

    Oracle数据库课程设计医院系统数据库源代码。包含Java代码和SQL语句。源码中默认使用的数据库为运行的Oracle数据库 如需修改,在java源码/database.propertie中修改即可!Oracle数据库课程设计医院系统数据库源代码...

    Veeam 备份恢复oracle数据库详细配置文档

    Veeam 备份恢复 Oracle 数据库详细配置文档 本文档旨在详细介绍如何使用 Veeam 备份恢复 Oracle 数据库的配置过程。该文档将指导读者从环境准备到推送 Oracle RMAN Plugin,再到创建备份作业和运行备份作业,最后...

    Oracle数据库大作业

    【Oracle数据库大作业】是一个关于Oracle数据库在教务管理系统中的应用项目,可能涵盖了数据库设计、实施、优化等多个方面的内容。这个大作业包含了PPT演示文稿、Word文档以及可能的源代码,为学习者提供了全面了解...

    Oracle数据库基础教程课后习题答案

    "Oracle数据库基础教程课后习题答案" Oracle数据库基础教程课后习题答案是《Oracle数据库基础教程》的配套习题答案,涵盖Oracle 10g的基础知识点。本资源对Oracle数据库的逻辑结构、物理结构、内存结构、事务处理...

    Oracle数据库体系结构( 中文详细版)

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,其强大的功能和稳定性使其在企业级应用中占据了重要地位。本文将详细解析Oracle数据库的体系结构,帮助读者深入理解其内部工作原理。 Oracle数据库的...

    查看登录oracle数据库用户记录.docx

    "查看登录 Oracle 数据库用户记录" Oracle 数据库是一个强大的关系型数据库管理系统,提供了强大的数据存储和管理功能。为了管理和监控数据库的访问情况,需要对登录 Oracle 数据库的用户记录进行跟踪和查看。本文...

    Oracle数据库系统应用与开发

    Oracle数据库系统是全球广泛使用的大型关系型数据库管理系统之一,它在企业级数据管理和应用程序开发中扮演着核心角色。本资源“Oracle数据库系统应用与开发”深入探讨了Oracle数据库的使用和开发技术,特别关注...

    oracle数据库日志查看方法

    ### Oracle数据库日志查看方法详解 #### 一、概述 Oracle数据库是企业级应用中广泛使用的数据库管理系统之一,为了确保数据库系统的稳定运行和快速定位问题,掌握Oracle数据库日志查看方法至关重要。本文将详细...

    易语言连接Oracle数据库

    易语言,作为一种简洁易学的编程语言,提供了与Oracle数据库交互的能力,使得开发者可以方便地进行数据存取、查询和管理。本文将详细介绍如何使用易语言连接Oracle数据库,并探讨相关组件的使用。 首先,连接Oracle...

    Oracle数据库试题100题(附答案)

    Oracle数据库是甲骨文公司推出的一个功能强大的关系数据库管理系统,它广泛应用于金融、电信、制造等行业。Oracle数据库试题能够帮助相关岗位的应聘者或者数据库管理人员加深对Oracle数据库的理解。本次提供的100题...

    Java导出Oracle数据库数据

    Java 导出 Oracle 数据库数据 Java 是一种流行的编程语言,广泛应用于各种领域。Oracle 是一种关系数据库管理系统,广泛应用于企业级应用中。在实际项目中,数据备份和恢复是非常重要的工作。本文将介绍如何使用 ...

    Oracle数据库精讲之数据库管理_ Oracle数据库管理视频

    2. 提供oracle数据库dba日常管理方法。 3. 掌握oracle数据库体系机构,为oracle优化奠定基础。 三、适合人群: 1.有意从事oracle 数据库工作,担任dba角色的人员; 2. Oracle数据库设计、开发和备份等管理人员; ...

    如何连接oracle数据库及故障解决办法

    连接 Oracle 数据库是每个开发者和数据库管理员都需要掌握的基本技能,但是很多人在连接 Oracle 数据库时都会遇到各种问题,本文将详细介绍如何连接 Oracle 数据库及故障解决办法。 首先,在连接 Oracle 数据库之前...

    oracle数据库_实例_用户_表空间之间的关系

    Oracle 数据库实例用户表空间之间的关系 Oracle 数据库实例用户表空间之间的关系是 Oracle 数据库管理系统的核心概念。了解它们之间的关系对于数据库的设计、管理和优化至关重要。 数据库 Oracle 数据库是一个...

    Oracle-新建Oracle数据库并连接(图文,详细).docx

    新建Oracle数据库并连接详细教程 在这篇教程中,我们将学习如何新建Oracle数据库并连接到该数据库。该教程分为两部分:新建Oracle数据库和连接到数据库。 新建Oracle数据库 新建Oracle数据库需要使用Database ...

    Oracle数据库完全卸载干净工具

    Oracle数据库是一种广泛使用的大型关系型数据库管理系统,它在企业级应用中扮演着核心角色。然而,当不再需要Oracle数据库或需要进行系统升级时,正确、彻底地卸载Oracle数据库至关重要,以防止残留文件影响新安装或...

    C#版Oracle数据库通用操作类

    ### C# 版 Oracle 数据库通用操作类解析 在现代软件开发中,数据库操作是必不可少的一部分,而 C# 结合 Oracle 数据库的应用尤为广泛。本文将深入探讨一个用于简化 Oracle 数据库操作的 C# 类——`ConnForOracle`。...

    access数据库MDB数据文件导入oracle数据库操作步骤.pdf

    Access 数据库 MDB 数据文件导入 Oracle 数据库操作步骤 Access 数据库 MDB 文件是 Microsoft Access 应用程序的数据库文件格式,而 Oracle 数据库是关系数据库管理系统。将 Access 数据库 MDB 文件导入 Oracle ...

    《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf

    《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf《Oracle...

    ORACLE数据库备份用bat脚本

    在IT行业中,数据库管理是至关重要的任务之一,而Oracle数据库作为全球广泛使用的数据库管理系统,其数据安全性与备份策略显得尤为重要。本文将详细讲解如何利用批处理脚本(BAT)进行Oracle数据库的备份,并探讨...

Global site tag (gtag.js) - Google Analytics