- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle对象解读系列之五自定义类型对集合类型的支持
Oracle对象解读系列之
自定义类型对集合类型的支持
文档作者: : :
: : 拷贝号 _____
文档控制
变更记录
1
日期 作者 版本 变更说明
审阅
姓名 职位
分发
拷贝编号 姓名 位置/岗位
备注:本系列讲述了关于Oracle SQL对象的基本信息,解释了什么是对象类型和子程序,描述了如何创建和如何使用一个来自于共享的根和通过继承对象类型层次结构。
本节介绍了ORACLE自定义对象类型对集合数据的支持,包括NESTED TABLE和VARRAY。介绍了如何创建和使用这两种数据类型。本节要求读者会使用CREATE TYPE XXX AS OBJECT创建SQL对象类型。阅读本系里之前建议先阅读
《Oracle对象解读系列之对象的创建和简单使用》
创建SQL对象类型和集合类型参考:Oracle Database PL/SQL Language Reference
SQL集合数据类型
Oracle支持数组和嵌套表这两种数据集合类型,其中:
数组是一组有序的元素组成的集合
嵌套表是可以有任意数量的元素
如果你是想暂时保存一组数量固定的元素,或者按照顺序来循环一组元素,或者在进行函数调用的时候需要返回一组处理的元素,那么可以选择使用数组;如果你想更高效的去执行一个集合的查询,或者执行大量数据的DML操作那么可以选择使用嵌套表。
创建集合类型
创建集合类型
下面通过一个例子来说明如何创建一个集合类型
DROP TYPE person_typ FORCE;
CREATE OR REPLACE TYPE person_typ AS OBJECT
(
idno NUMBER,
NAME VARCHAR2(30),
phone VARCHAR2(20),
MAP MEMBER FUNCTION get_idno RETURN NUMBER,
MEMBER PROCEDURE display_details(SELF IN OUT NOCOPY person_typ)
);
CREATE OR REPLACE TYPE BODY person_typ AS
MAP MEMBER FUNCTION get_idno RETURN NUMBER IS
BEGIN
RETURN idno;
END;
MEMBER PROCEDURE display_details(SELF IN OUT NOCOPY person_typ) IS
BEGIN
dbms_output.put_line(to_char(idno) || - || NAME || - || phone);
END;
END;
CREATE TYPE people_typ AS TABLE OF person_typ; -- nested table type 实例化一个集合类型
可以像实例化一个对象那样的去对一个集合类型进行实例化。
DECLARE
people_tb people_typ;
BEGIN
people_tb := people_typ(person_typ(1, John Smith, 1-650-555-0135));
END; 集合的构造方法
下面的例子是先创建一个包含了嵌套表类型列的表,然后展示了如何使用它的构造方法。
CREATE TABLE people_tab (
group_no NUMBER,
people_column people_typ ) -- an instance of nested table
NESTED TABLE people_column STORE AS people_column_nt; -- storage table for NT
INSERT INTO people_tab VALUES (
100,
people_typ( person_typ(1, John Smith, 1-650-555-0135),
person_typ(2, Diane Smith, NULL))); 疑问点:当你查看数据的时候,如果使用SELECT查看people_column列,PLSQL DEVLOPER会强制关闭,通过COMMAND_WINDOW则不会
可以使用下面方法来访问:
DECLARE
people_tb people_typ;
BEGI
您可能关注的文档
- Android软件工程师罗某某两年经验.doc
- Ants咖啡店创业计划书解读.doc
- c 语言基础知识汇总.ppt
- C 语言课程设计 MFC设计 图书管理系统.doc
- CAD三维绘图教程与案例,很实用 cad三维制图教程.doc
- B级英语作文分类 请假条 留言条.ppt
- CMMS功能培训 交叉表应用.ppt
- AutoCAD使用教程图片文字技巧制作技巧实用文档.ppt
- c语言课程设计学生成绩管理系统答辩.ppt
- CTR主要报纸受众状况及广告价值分析报告.ppt
- 人教新目标版英语九年级 中考模拟学情评估(三)(含答案).pdf
- 上海市风华中学2024-2025学年高三上学期9月阶段测试英语试题(无答案).pdf
- 统编版2024-2025学年语文六年级上册期末检测卷(有答案).pdf
- 人教新目标版英语九年级第二学期全册学情评估(含答案).pdf
- 内蒙古自治区巴彦淖尔市杭锦后旗第六中学2024-2025学年八年级上学期阶段性测试历史试题(解析版).pdf
- 湖南省娄底市涟源市部分学校2024-2025学年高一上学期9月月考语文试题 Word版无答案.pdf
- 湖南省衡阳市常宁市2023-2024学年七年级上学期期末考试英语试题.pdf
- 湖南省娄底市涟源市部分学校2024-2025学年高一上学期9月月考语文试题 Word版含解析.pdf
- 江苏省泰州市姜堰区城西实验学校2024-2025学年部编版九年级上学期月考历史试卷(原卷版).pdf
- 内蒙古伊金霍洛旗2022-2023学年七年级上学期期末考试英语试题.pdf
最近下载
- 2024年社会工作者《中级法规与政策》数字型考点.pdf VIP
- 竺乾威、朱春奎、李瑞昌:《公共管理导论》 第三章 组织.pptx VIP
- 建筑工程图集 B16G101-1:中英文双语版16G101-1.pdf VIP
- 图集规范-05N6井盖标准图集.pdf
- 室外消防钢结构楼梯拆除方案.pdf
- (精选施工方案)0141 民航总局办公楼加固整修工程.doc VIP
- 统编版小学语文四年级上册第三单元 观察 大单元整体学历案教案 教学设计附作业设计(基于新课标教学评一致性).docx
- 有关青岛市新建住宅质量保修手册.doc
- 同课异构省一等奖《同底数幂的乘法》教案 (省一等奖) .doc
- 连云港市新海高级中学2023-2024学年高一上学期10月月考数学试题(解析版).docx VIP
文档评论(0)