PL/SQL入门系列--集合之:index-by表

       与很多语言一样,oracle也有其集合结构,首先向大家介绍 :index-by表
       index-by 类似c,c++,java中的数组.
       一.  定义语法为:
       TYPE TableType IS TABLE OF type INDEX BY BINARY_INTEER;
       二. 示例
                1. 类型为字符串
                         
sql 代码
 
  1. Declare   
  2.    Type characterTab Is Table Of Varchar2(10) Index By Binary_Integer;  
  3.    v_characters characterTab;  
  4. Begin  
  5.    v_characters(0) := 'hello';  
  6.    v_characters(1) :='wilent';  
  7.    dbms_output.put_line(v_characters(0)||'_'||v_characters(1));  
  8. End;  
   
                    2. 类型为数值型
sql 代码
 
  1. Declare   
  2.  Type numberTab Is Table Of Number Index By Binary_Integer;  
  3.  numbers numberTab;  
  4.  outChar Varchar2(255) := '';  
  5. Begin  
  6.      For v_count In 1..10 Loop  
  7.          numbers(v_count) := v_count;  
  8.          outChar := outChar||'_'||numbers(v_count);  
  9.      End Loop;  
  10.        
  11.      dbms_output.put_line(outChar);  
  12. End;  

                    3. 类型为自定义
  
sql 代码
 
  1. --自定义类型testObject;  
  2. Create Or Replace Type testObject As Object   
  3. (  
  4.        field_1 Number,  
  5.        field_2 Varchar2(20),  
  6.        field_3 Varchar2(20)  
  7. );  
  8. /  
  9.   
  10. Declare   
  11.         Type objectTab Is Table Of testObject Index By Binary_Integer;  
  12.         t_obj objectTab;  
  13. Begin  
  14.         t_obj(1) := testObject(88,Null,Null);  
  15.         t_obj(1).field_2 := 'hello';  
  16.         t_obj(1).field_3 := '世界';  
  17.         dbms_output.put_line(t_obj(1).field_1||t_obj(1).field_2||t_obj(1).field_3);  
  18. End;  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值