Oracle 数组的写法

摘要:
--它使定义多值属性成为可能,这克服了关系模型的基本特性。属性的每行只能存储一个值。
 


-- 它使得定义多值属性成为一种可能:由此克服了关系模型的基本特征(也可以说是约束),一个属性(如一个列)的每行只可以存储一个值。

-- 声明
Create Or Replace varray_type_name Is Varray(size_limit) Of Element_type [Not Null];
-- 使用
varray_obj varray_type_name;



--  注:下标从1开始,元素个数有限制 使用变长数组对象元素前,必须使用构造函数初始化
-- 容量为100个的varchar2的数组,每个长度为20
Create Or Replace Type varray_type Is Varray(100) Of Varchar2(20) Not Null;

DECLARE
  VARRAY_OBJ VARRAY_TYPE;
  N          NUMBER;
BEGIN
  VARRAY_OBJ := VARRAY_TYPE('xxxxxxxxxxxxxxxxxxxX', 'b', 'c');

  IF VARRAY_OBJ.EXISTS(1) THEN
    DBMS_OUTPUT.PUT_LINE('--从第1个元素开始输出');
    N := VARRAY_OBJ.FIRST;
    LOOP
      DBMS_OUTPUT.PUT_LINE('下标:' || N || ' 值:' || VARRAY_OBJ(N));
      EXIT WHEN N = VARRAY_OBJ.LAST;
      N := VARRAY_OBJ.NEXT(N);
    END LOOP;
  
    DBMS_OUTPUT.PUT_LINE('--从最后1个元素开始输出');
    N := VARRAY_OBJ.LAST;
    LOOP
      DBMS_OUTPUT.PUT_LINE('下标:' || N || ' 值:' || VARRAY_OBJ(N));
      EXIT WHEN N = VARRAY_OBJ.FIRST;
      N := VARRAY_OBJ.PRIOR(N);
    END LOOP;
  END IF;
END;

  

免责声明:文章转载自《Oracle 数组的写法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇cnpm安装记录关于USB微帧与数据包包长与端点缓冲区的理解下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python科学计算_numpy_广播与下标

多维数组下标 多维数组的下标是用元组来实现每一个维度的,如果元组的长度比维度大则会出错,如果小,则默认元组后面补 : 表示全部访问; 如果一个下标不是元组,则先转换为元组,在转换过程中,列表和数组的转换有所不同。 一个列表会被转换成各个元素组成的元组,然后进行访问(此时如果不全为整数的话,则不会共享存储区域,因为无法通过改变步长来保持存储结构不变);如:l...

将excel中的数据转为json格式

---恢复内容开始--- 用来总结工作中碰导一些错误,可以让自己在碰到相同错误的时候不至于重新走一遍。。。。        昨天导入数据的时候,碰到了一个问题是将一个大数组里面的每一个元素中的一些不要的去提出掉,本身这些元素每一个本身也是数组,然后我去遍历大数组,又去遍历小数组,然后要赋值的条件就懵了,因为是双重循环,所以后面洗澡想起来可以用一个函数去跑内...

laravel 导出插件

转发:https://blog.csdn.net/gu_wen_jie/article/details/79296470 版本:laravel5           php 5.6 安装步骤: 一、安装插件 ①、首先在Laravel项目根目录下使用Composer安装依赖: composer require "maatwebsite/excel:~2.1....

MATLAB元胞数组

MATLAB元胞数组 元胞数组: 元胞数组是MATLAB的一种特殊数据类型,可以将元胞数组看做一种无所不包的通用矩阵,或者叫做广义矩阵。组成元胞数组的元素可以是任何一种数据类型的常数或者常量,每一个元素也可以具有不同的尺寸和内存占用空间,每一个元素的内容也可以完全不同,所以元胞数组的元素叫做元胞(cell)。和一般的数值矩阵一样,元胞数组的内存空间也是动...

一篇文章教会你创建vue项目和使用vue.js实现数据增删改查

【一、项目背景】 在管理员的一些后台页面里,数据列表中都会对这些数据进行增删改查的操作,例如管理员添加商品、修改商品价格、删除商品、查询商品,我们应该关注这些数据的操作和处理。 【二、项目目标】 主要有以下5个目标: 1、如何创建vue项目。 2、数据添加方法:获取到id和name在data上面获取,组织一个对象,把对象通过数组的相关方法,添加到当前dat...

原创:python的requests.post()向后端传递数据,数组结构需将python数据结果转换成JSON

 针对采集来的数据,用requests.post()向后端传递 如果是python数据结构如数组,需要转换成为JSON对象,否则后端容易解析不成后端集合的对象结构 re 一:python做为前端请求requests.post() ''' 后台接收是数组 ''' dataInfoList = [...