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

      

  • 相关阅读:
    20101029总结
    编程感悟
    编程实现>ASP.NET 3.5开发范例精讲精析>探讨SqlDataSource控件
    GET代替POST?
    php调试工具安装
    php 命令行方式使用
    多为数组转换成一维递归
    mysql优化相关
    操作目录
    递归树
  • 原文地址:https://www.cnblogs.com/fubinhnust/p/9928942.html
Copyright © 2011-2022 走看看