--数组
DECLARE
TYPE test_plsql_varray IS VARRAY(100) OF VARCHAR2(20);
temp_varray1 test_PLSQL_VARRAY := test_plsql_varray('One','Two','Three');
temp_varray2 test_PLSQL_VARRAY := test_plsql_varray();
BEGIN
--dbms_output.put_line(temp_varray2.COUNT);
temp_varray2.EXTEND(4);
FOR i IN 1..temp_varray1.COUNT LOOP
temp_varray2(i) := temp_varray1(i);
END LOOP;
FOR i IN 1..temp_varray2.count LOOP
dbms_output.put_line('temp_varray2'||'('||i||'):['||temp_varray2(i)||']');
END LOOP;
END;

--索引表
declare
type tmp_tab is table of number index by binary_integer;
v_tmp tmp_tab;
begin
v_tmp(-1):=4;
v_tmp(2):=5;
v_tmp(3):=6;
v_tmp(6):=7;
for i in 1..v_tmp.count loop
if v_tmp.EXISTS(i)then
DBMS_OUTPUT.put_line(v_tmp(i));
v_tmp.delete(i);
end if;
end loop;
DBMS_OUTPUT.put_line('现有元素个数为:'||v_tmp.count);
end;

--嵌套表
DECLARE
TYPE t_nested_table IS TABLE OF NUMBER;
v_table t_nested_table;

BEGIN
v_table := t_nested_table(0,1,2,2,4);
v_table.DELETE(1);
DBMS_OUTPUT.put_line(v_table.COUNT());
FOR i IN 2..5 LOOP
IF v_table.EXISTS(i) THEN
DBMS_OUTPUT.put_line(v_table(i));
END IF;
END LOOP;
end;

--记录类型

--对象类型
CREATE or replace type coords as object (
x number,
y number
);

CREATE TABLE grid (num NUMBER, loc coords);
INSERT INTO grid
VALUES (10, coords(1, 2));
INSERT INTO grid
VALUES (20, coords(3, 4));

DECLARE
TYPE coordstab IS TABLE OF coords;
pairs coordstab;
BEGIN
SELECT loc
BULK COLLECT INTO pairs
FROM grid;
for i in 1..pairs.count loop
dbms_output.put_line('loc的值为:'||pairs(i).x||CHR(9)||pairs(i).y);
end loop;
END;

plsql数组、表和对象的更多相关文章

  1. JS 数组去重(数组元素是对象的情况)

    js数组去重有经典的 几种方法 但当数组元素是对象时,就不能简单地比较了,需要以某种方式遍历各值再判断是否已出现. 因为: 1.如果是哈希判断法,对象作哈希表的下标,就会自动转换成字符型类型,从而导致 ...

  2. 统计Mongo数组中相同对象的属性之和

    统计Mongo数组中相同对象的属性之和 需求 需要统计app端用户的行为,按天分表,存入mongo.每次用户进行操作的时候,将数据存入app本地,下次用户启动的时候,提交存入mongo,删除app本地 ...

  3. oracle exp imp 导入 正在跳过表 plsql 导入表 成功终止 数据 被导入

    http://blog.csdn.net/agileclipse/article/details/12968011 .导入过程中,所有表导入都出现提示, 正在跳过表...某某表名 最后提示成功终止导入 ...

  4. javascript里面的数组,json对象,动态添加,修改,删除示例

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  5. 用vector容器代替数组 ——使用数组初始化vector对象

    在C++中,我们不能用数组直接初始化另一数组,而只能创建新的数组,然后显式的把原数组的元素逐个复制给新的数组. 按照C语言中的做法: const size_t arry_size=6; int int ...

  6. 有几数组表单,js怎么获得数组并动态相加输出到文本框

    有几数组表单,js如何获得数组并动态相加输出到文本框<input   name= "fee1[] "> <input   name= "fee2[] & ...

  7. js数组遍历和对象遍历

    针对js各种遍历作一个总结分析,从类型用处:分数组遍历和对象遍历:还有性能,优缺点等. JS数组遍历: 1,普通for循环,经常用的数组遍历 var arr = [1,2,0,3,9]; for ( ...

  8. 关于 vue 不能 watch 数组变化 和 对象变化的解决方案

    原文地址:关于 vue 不能 watch 数组变化 和 对象变化的解决方案 vue 监听数组和对象的变化 vue 监听数组 vue 实际上可以监听数组变化,比如: data () { return { ...

  9. makeObjectsPerformSelector对数组中的对象发送消息执行对象中方法

    - (void)makeObjectsPerformSelector:(SEL)aSelector; - (void)makeObjectsPerformSelector:(SEL)aSelector ...

  10. NodeJS对象数组Array 根据对象object key的值排序sort

    有个js对象数组 var ary=[{id:1,name:”b”},{id:2,name:”b”}] 需求是根据name 或者 id的值来排序,这里有个风骚的函数. /** * 对数组中的对象,按对象 ...

随机推荐

  1. error: could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037

    问题原因:端口5037被占用 解决方案: 方式一:可以用cmd命令 C:\Users\Administrator>netstat -ano | findstr "5037" ...

  2. SQLSERVER常用计数器

    复制下面全部--开始--运行--profmon.exe--性能监视器--粘贴计数器列表 <OBJECT ID="DISystemMonitor1" WIDTH="1 ...

  3. 插入排序(PHP,C)

    PHP<?php /* ** 功能:插入算法 ** 描述: ** 作者:yuwensong */ function insertSorting($arr,$n){ for($i = 1; $i& ...

  4. python基础篇---实战---用户登入注册程序

    一.首先了解需求: 1.支持多个用户登入 2.登入成功后显示欢迎,并退出程序 3.登入三次失败后,退出程序,并在下次程序启动尝试登入时,该用户名依然是锁定状态 二.文件代码如下: f = open(& ...

  5. Powershell 获取文件版本信息

    获取文件版本信息,通过FileVersionInfo::GetVersioninfo(file) 来获取信息 function Check-DdpstoreFileVersion{ $Ddpstore ...

  6. Java中的四种引用类型,强引用,软引用,弱引用,虚引用

    对于Java中的垃圾回收机制来说,对象是否被回收的标准在于该对象是否被引用.因此,引用也是JVM进行内存管理的一个重要概念. Java中对象的引用一般有以下4种类型: 1强引用  2软引用  3弱引用 ...

  7. redis命令_INCR

    INCR key 将 key 中储存的数字值增一. 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作. 如果值包含错误的类型,或字符串类型的值不能表示为数字,那 ...

  8. 0048 MyBatis动态SQL简易入门示例

    假如有如下的关于书籍基本信息的表: DROP DATABASE IF EXISTS `books`; CREATE DATABASE `books`; USE books; DROP TABLE IF ...

  9. codeForces 574b Bear and Three Musketeers

    一种巧妙到暴力方式,这题到抽象化:在一个无向图中,找一个度数和最小到三阶到圈. 首先对边进行枚举,这样确定了两个顶点,然后在对点进行枚举,找到一个可以构成三元圈到点,则计算他们到度数和. 最后保存最小 ...

  10. linux控制台超时自动注销

    仅让root用户超时退出: 编辑/root/.bash_profile文件,添加 export TMOUT=300 #300秒超时自动退出root 对所有用户设置自动注销: vi /etc/profi ...