oracle 数组的应用(一)

/**
集合:联合数组、嵌套表、可变数组
属性:count、first、last、limit、exists、prior、next
方法:delete、extend、trim(extend trim不可用于联合数组)
**/

 

declare 
  type lh_name is table      of varchar2(10) index by binary_integer;--联合数组
  type qt_age  is table      of number(5);--嵌套表
  type kb_num  is varray(20) of varchar2(20);--[not null] 可变数组(varying array)
  
  v_name lh_name;
  v_age qt_age:=qt_age('12','23','43','21','32','12','144','152','162','14','13','11','17','22','42','62','12','17','22','42','62','12');
  v_num kb_num:=kb_num('1','2','3','4','5'); 
  
  v_count number(10);
begin
  /**
  v_age.extend;--尾端加一个null
  v_age.extend(2);--尾端加2个null
  v_age.extend(2,7);--尾端加2个7
  
  v_num.trim;--尾端删一个元素
  v_num.trim(2);--尾端删2个元素
  **/
  
  dbms_output.put_line('v_name属性count:'||v_name.count||'v_age属性count:'||v_age.count||'v_num属性count:'||v_num.count);
  -- Test statements here
  --v_age.delete;--删除全部
  v_age.delete(1);--删除位置为1的元素
  v_age.delete(10,11);--删除位置在10到11的元素
  
  if v_name.exists(1) then
     dbms_output.put_line('v_name(1)的值:'||v_name(1));
  else
    v_name(1):='iris';
    dbms_output.put_line('v_name最大元素个数:'|| v_name.limit);--注意:嵌套表没有最大元素个数只能返回null
  end if;  
  
  dbms_output.put_line('v_num最大元素个数:'|| v_num.limit);--返回20,定义时的最大元素个数
  
  v_count:=v_num.first;
  while v_count<=v_num.last loop
    dbms_output.put_line('当前元素:'|| v_num(v_count));
    v_count:=v_num.next(v_count);--当前元素下一位元素
  end loop;
  
   v_count:=v_num.last;
  while v_count>=v_num.first loop
    dbms_output.put_line('当前元素:'|| v_num(v_count));
    v_count:=v_num.prior(v_count);--当前元素上一位元素
  end loop;

  
end;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不知道叫什麽名字

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值