zoukankan      html  css  js  c++  java
  • 【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)

  • 相关阅读:
    centos7 启动mongodb时报错ERROR: child process failed, exited with error number 1
    liunxcentos7下 跟目录空间不足docker load镜像报错空间不足
    centos7下初始化硬盘挂载目录
    Jenkins打包出错
    CentOS 7 安装 Percona XtraDB Cluster 5.7
    Etcd集群搭建(证书通信)
    centos7下prometheus+grafana监控
    nginx代理
    装Centos7系统
    Dockerfile常用指令使用案例
  • 原文地址:https://www.cnblogs.com/greenZ/p/8721874.html
Copyright © 2011-2022 走看看