oracle 声明复合类型,【oracle】更新 oracle复合数据类型

1123-01 更新 oracle复合数据类型

参考:

浅谈oracle复合数据类型 http://wenku.baidu.com/view/79b6e13510661ed9ad51f399.html

oracle复合数据类型基础知识

http://wenku.baidu.com/view/95a0722bba1aa8114431d998.html?from=search

Oracle复合类型之RECORD http://wenku.baidu.com/view/d3540427482fb4daa58d4b17.html?from=search

ORACLE中游标和复合数据类型

http://wenku.baidu.com/view/16312c154431b90d6c85c735.html?from=search

oracle三种数组 http://wenku.baidu.com/view/b438aa4dcf84b9d528ea7a23.html?from=search

记录 ,3种 集合(数组)

记录:单行多列

集合:多行单列

记录的定义:

1.显示定义

2.隐式定义

3.游标定义

记录的赋值:

1.赋值语句 select into

2.赋值符 :=

3.游标提取语句 fetch into

记录 的应用:游标的提取

3种集合

1.PL/SQL表(index_by表,索引表)

2.netsted_table(嵌套表)

3.varray|varying array 变长数组

1.数据稀疏性(sparsity):元素下标是否间隔

2.数据绑定:元素数量限制

3.数据库存储能力:能否存储在DB中;元素数据类型

集合的初始化

1.index_by表

无需初始化,定义后可以直接赋值

2.nested_table,varray

使用 构造函数 进行初始化

集合的赋值:

1.赋值语句 select into

2.赋值符 :=

3.游标的提取:逐行提取

fetch into

4.游标的提取:一次性提取全部

fetch bulk collect into

当返回 单行记录 时,也可以用于 。

说明:oracle中没有 一维数组,二维数据,但是 oracle的复合数据类型 可以实现相同的功能。

一维数组:记录(元素为标量数据类型),集合( 元素为标量数据类型 )

二维数组: 记录(元素为复合数据类型),集合( 元素为复合数据类型 )

集合的扩展:

1.index_by表:元素个数没有限制,limit()为null,无需extend,赋值即可扩展元素个数。

2.nested_table表:默认个数即 构造函数 参数个数,;下标默认连续且从1开始;溢出的下标 需要先扩展,再赋值。

3.varray|varying array变长数组: 个数在定义时由max_size指定;下标默认连续且从1开始;溢出的下标 需要先扩展,再赋值。

元素的数据类型:

1.index_by

标量

任何合法的PL/SQL类型

2.nested_table

标量

记录,集合

3.varray

标量

记录(标量)

集合的函数/方法(面向对象的叫法):

1.构造函数

类型名([元素列表])

2.内建函数

长度

扩展元素,删除元素

元素是否存在

首个,末个元素

嵌套表的应用:游标的 bulk collect

3种集合的内建函数:

非法内建函数:

1.index_by表:

exist()

extend()

extend(x)

extend(x,n)

理解:index_by表赋值即可扩展,所以extend方法非法。

2.nested_table表

exist()

3.varray|varying array:

exist()

delete(idx)

delete(idx1,idx2)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值