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;
    

      

  • 相关阅读:
    生成器
    各种表达式
    迭代器
    闭包函数及装饰器
    名称空间及作用域
    函数的嵌套
    函数对象
    OpenSSL Heartbleed “心脏滴血”漏洞简单攻击示例
    PHP函数usort是咋回事?还能当后门?
    CVE-2017-7269—IIS 6.0 WebDAV远程代码执行漏洞分析
  • 原文地址:https://www.cnblogs.com/fubinhnust/p/9928942.html
Copyright © 2011-2022 走看看