代码如下:

 --PLSQL中没有数组的概念 用TYPE 和Table of Record来代替多维数组
--create by jenrry 20171028
-- 1.0 建立存放列的测试表
create table cux.cux_test_jenrry_1028
(
line_1 varchar2(240),
line_2 varchar2(240),
line_3 varchar2(240),
line_4 varchar2(240),
line_5 varchar2(240),
line_6 varchar2(240),
line_7 varchar2(240),
line_8 varchar2(240),
line_9 varchar2(240),
line_10 varchar2(240),
line_11 varchar2(240),
line_12 varchar2(240),
line_13 varchar2(240),
line_14 varchar2(240),
line_15 varchar2(240)
)
tablespace APPS_TS_TX_DATA
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 128
    next 128
    minextents 1
    maxextents unlimited
    pctincrease 0
  );
create synonym apps.cux_test_jenrry_1028 for cux.cux_test_jenrry_1028;

--2.0 使用二维数组的一个例子
DECLARE
  TYPE test_type IS RECORD(
    line_1  cux_test_jenrry_1028.line_1%TYPE,
    line_2  cux_test_jenrry_1028.line_2%TYPE,
    line_3  cux_test_jenrry_1028.line_3%TYPE,
    line_4  cux_test_jenrry_1028.line_4%TYPE,
    line_5  cux_test_jenrry_1028.line_5%TYPE,
    line_6  cux_test_jenrry_1028.line_6%TYPE,
    line_7  cux_test_jenrry_1028.line_7%TYPE,
    line_8  cux_test_jenrry_1028.line_8%TYPE,
    line_9  cux_test_jenrry_1028.line_9%TYPE,
    line_10 cux_test_jenrry_1028.line_10%TYPE,
    line_11 cux_test_jenrry_1028.line_11%TYPE,
    line_12 cux_test_jenrry_1028.line_12%TYPE,
    line_13 cux_test_jenrry_1028.line_13%TYPE,
    line_14 cux_test_jenrry_1028.line_14%TYPE,
    line_15 cux_test_jenrry_1028.line_15%TYPE); --定义test记录类型 
  TYPE test_type_array IS TABLE OF test_type INDEX BY BINARY_INTEGER; --定义存放test记录的数组类型 
  test_rec       test_type; --声明变量,类型:test记录类型
  test_rec_array test_type_array; --声明变量,类型:存放test记录的数组类型

BEGIN
  --数组赋值
  test_rec.line_1 := '金额/列名';
  test_rec.line_2 := '30';
  test_rec_array(1) := test_rec;

test_rec.line_1 := '23';
  test_rec.line_3 := '11';
  test_rec_array(2) := test_rec;

--循环输出数组元素
  FOR i IN 1 .. test_rec_array.count LOOP
    DBMS_OUTPUT.PUT_LINE('i=' || i || ',line_1=' || test_rec_array(i)
                         .line_1 || ',line_2=' || test_rec_array(i).line_2);
  END LOOP;
END;

PLSQL中使用二维存储结构---二维数组的更多相关文章

  1. PostgreSQL的存储系统二:REDOLOG文件存储结构二

    REDOLOG文件里的用户数据和数据文件里的用户数据存储结构相同 几个月前同事给台湾一家公司培训<pg9 ad admin>时,有个学员提及WAL里记录的内容为Query时的SQL语句(比 ...

  2. sql server 索引阐述系列二 索引存储结构

    一.概述. "流光容易把人抛,红了樱桃,绿了芭蕉“ 转眼又年中了,感叹生命的有限,知识的无限.在后续讨论索引之前,先来了解下索引和表数据的内部结构,这一节将介绍页的存储,页分配单元类型,区的 ...

  3. Java中Map<Key, Value>存储结构根据值排序(sort by values)

    需求:Map<key, value>中可以根据key, value 进行排序,由于 key 都是唯一的,可以很方便的进行比较操作,但是每个key 对应的value不是唯一的,有可能出现多个 ...

  4. Oracle 存储结构二

    创建和管理表空间 创建表空间 典型语句: CREATE SMALLFILE TABLESPACE "JWTS" DATAFILE '/u01/app/oracle/oradata/ ...

  5. Atitit.数据库表的物理存储结构原理与架构设计与实践

    Atitit.数据库表的物理存储结构原理与架构设计与实践 1. Oracle和DB2数据库的存储模型如图: 1 1.1. 2. 表数据在块中的存储以及RowId信息3 2. 数据表的物理存储结构 自然 ...

  6. Java中关于泛型集合类存储的总结

    集合类存储在任何编程语言中都是很重要的内容,只因有这样的存储数据结构才让我们可以在内存中轻易的操作数据,那么在Java中这些存储类集合结构都有哪些?内部实现是怎么样?有什么用途呢?下面分享一些我的总结 ...

  7. Redis之(二)数据类型及存储结构

    Redis支持五中数据类型:String(字符串),Hash(哈希),List(列表),Set(集合)及zset(sortedset:有序集合). Redis定义了丰富的原语命令,可以直接与Redis ...

  8. 二叉树的二叉链表存储结构及C++实现

    前言:存储二叉树的关键是如何表示结点之间的逻辑关系,也就是双亲和孩子之间的关系.在具体应用中,可能要求从任一结点能直接访问到它的孩子. 一.二叉链表 二叉树一般多采用二叉链表(binary linke ...

  9. Java读取excel指定sheet中的各行数据,存入二维数组,包括首行,并打印

    1. 读取 //读取excel指定sheet中的各行数据,存入二维数组,包括首行 public static String[][] getSheetData(XSSFSheet sheet) thro ...

随机推荐

  1. nodejs + express 热更新

    以前node中的express框架,每次修改代码之后,都需要重新npm start 才能看到改动的效果,非常麻烦,所以这里引入nodemon模块,实现了不用重启也能自动更新这样的好处 1.全局安装no ...

  2. javascript 数组去重的6种思路

    前端在日常开发中或多或少都会碰到有对数据去重的需求,实际上,像是lodash这些工具库已经有成熟完备的实现,并且可以成熟地运用于生产环境.但是这并不妨碍我们从思维拓展的角度出发,看看去重可以用几种思路 ...

  3. MYSQL 复制详解

    MySql 复制介绍 MySQL复制允许将主实例(master)上的数据同步到一个或多个从实例(slave)上,默认情况 下复制是异步进行的,从库也不需要一直连接到主库来同步数据 MySQL复制的数据 ...

  4. jQuery Event.which 属性

    which属性用于返回触发当前事件时按下的键盘按键或鼠标按钮. 对于键盘和鼠标事件,该属性用于确定你按下的是哪一个键盘按键或鼠标按钮. which属性对DOM原生的event.keyCode和even ...

  5. glog功能介绍

    1.   概述       Google glog是一个基于程序级记录日志信息的c++库,编程使用方式与c++的stream操作类似,例:        LOG(INFO) << &quo ...

  6. Go 开发

    0.参数传递永远是值传递,地址也是一种值 1.go 开发环境的配置 2.import 包的几种形式: 1)_,默认导入一个包时,会将包中内容导入再执行包中的init()方法,有时并不需要某个包,只是想 ...

  7. LeetCode【第1题】Two Sum

    准备刷一刷LeetCode了. 题目: ''' Given an array of integers, return indices of the two numbers such that they ...

  8. 正则表达式匹配可以更快更简单 (but is slow in Java, Perl, PHP, Python, Ruby, ...)

    source: https://swtch.com/~rsc/regexp/regexp1.html translated by trav, travmymail@gmail.com 引言 下图是两种 ...

  9. Cmake编写JNI

    调用两个库 CMakeLists.txt //把那种大段的注释去掉了 cmake_minimum_required(VERSION ) add_library( # Sets the name of ...

  10. MYSQL安装时解决要输入current root password的解决方法

    在装MYSQL的时候发现要输入current root password不记得以前在电脑里装过(你的系统曾经装过MYSQL在重装就会要求输入原来设定的密码,如果是第一次安装就不会出现),在网上苦苦搜寻 ...