• 【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 <cursor> into <一维数组>
    4.游标的提取:一次性提取全部
    fetch <cursor> bulk collect into <二维数组>
    当<cursor>返回 单行记录 时,也可以用于 <一维数组>。
    说明: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)

  • 相关阅读:
    几个C#编程的小技巧
    用asp.net实现将上传的图片变小存入数据库
    解决sql server安装问题
    Linux三则超酷技巧
    vc编程参考站点,简要的Windows API函数大全
    声明游标
    如何把string解析为int?[C#] How to Parse a string to an int? [C#]
    SQL Server2000数据库系统表的应用
    胶囊和凸多边形的动态碰撞检测
    纹理资源管理的困惑
  • 原文地址:https://www.cnblogs.com/greenZ/p/8721874.html
Copyright © 2020-2023  润新知