PLSQL中集合使用笔记1

PLSQL中集合使用笔记1

总体中PLSQL中的集合大致有:

1.索引表,也称为关联数组,可以让我们使用数字或字符串作下标来查找元素。(这有点和其他语言中的哈希表相类似。)
2.嵌套表可以容纳任意个数的元素,使用有序数字作下标。我们可以定义等价的SQL类型,把嵌套表存到数据库中去,并通过SQL语句进行操作。
3.变长数组能保存固定数量的元素(但可以在运行时改变它的大小),使用有序数字作为下标。同嵌套表一样,也可以保存到数据库中去,但灵活性不如嵌套表好。


理解嵌套表基本使用

在数据库中,嵌套表可以被当作单列的数据表来使用。Oracle在往嵌套表中存放数据时是没有特定顺序的。但是,当我们把检索出来的数据存放在PL/SQL变量时,所有行的下标就会从1开始顺序编号。这样,就能像访问数组那样访问每一行数据。
要点:
1.1 从1开始,不是从0开始。且必须从1开始。
1.2 没有上限,若是需要扩展,extend以下。
1.3 定义语法:
TYPE test IS TABLE OF varchar2(20);//定义个类型为字符串的嵌套表,表名:test。

1.4 使用案例:将查询中的数据存放到嵌套表中:
-- 定义嵌套表

TYPE m_table IS TABLE OF varchar2(200); --定义嵌套表
mp m_table := m_table(); --新建一个类型

-- 定义游标

cursor c_test is
select p.testid from test_table p where p.roleid = '22';


-- 将数据放入嵌套表中

for cc in c_test loop
mp.extend;
i_int := i_int + 1;
mp(i_int) := cc.testid;
end loop;

--循环遍历嵌套表

for j in mp.first .. mp.last loop
dbms_out.put_line(j);
end loop;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值