PLSQL——集合(索引表、嵌套表、变长数组、bulk collect、批量绑定)

本文详细介绍了Oracle PLSQL中的集合类型,包括索引表、嵌套表和变长数组的定义、属性、方法及其在数据库中的使用。同时,讨论了bulk collect用于批量数据处理和批量绑定在SQL操作中的应用。
摘要由CSDN通过智能技术生成

1.集合类型

集合(collection):它是存放一组数据类型相同的数据,是相同类型元素的组合

集合数据类型分类:
1.索引表(index by tables):或者叫做关联数组(associative arrays)
2.嵌套表(nested table)
3.可变长度数组(varray:variable-size arrays)

2.集合的属性和方法

集合名字.属性名 集合名字.方法名
1.first取集合的第一个元素的下标
2.last取集合的最后一个元素的下标
3.count 取集合的总长度
4.limit 取集合元素下标的最大值 (索引表和嵌套表是不限个数的,所以返回null,变长数组返回定义时的最大索引 )
5.delete([n]) 删除集合中的元素,加n表示下标,删除对应下标的值
6.extend(n[,ind]):扩展集合元素 n是一个数字,表示扩展的元素个数,ind是集合中的一个元素的下标,加上它表示扩展集合时,给扩展的元素加上值,值是ind这个下标对应的元素
7.next(下标)取当前元素下一个元素的下标
8.prior(下标):取当前元素上一个元素的下标

3.索引表

  1. 使用整数(可为负)(pls_integer,binary_integer)或字符串来作为下标,
  2. 下标可以不连续;
  3. 元素个数无限制,
  4. 只能用在PLSQL中,不可以存储在数据库中.

定义索引表类型的语法:
–1声明索引表类型
type 类型名称 is table of 数据类型(是集合中值的数据类型)index by 下标的数据类型(varchar2,pls_integer,binary_integer);

type mytype is table of varchar2(200) index by pls_integer;

2声名一个集合变量

变量名 类型名
v mytype;
集合中数据的存取:
集合变量(下标)
v(下标);
v(下标):=值;

declare
   --声名一个索引表类型
   type mytype is table of varchar2(200) index by binary_integer;
   --声名一个索引表类型变量
   tab mytype;
   --声名一个变量保存索引表的下标
   ind varchar2(20);
begin
   tab(1):='张三';
   tab(-2):='李四';
   tab(0):='王五';
   ind:=tab.first;
   ---遍历集合
   loop
      --打印集合元素
      dbms_output.put_line(tab(ind));
      --退出条件
      exit when ind=tab.last;
      ind:=tab.next(ind);
   end loop;
end;    
declare
   --声名记录类型
   type recType is record(
       name varchar2(30),
       sex varchar2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值