Oracle中index by binary_integer的作用

 

Oracle PL/SQL中创建UDT的复合类型时,index by binary_integer 作用
如语句: type  numbers  is table of number index by binary_integer; 其作用是 , 加了 ”index by binary_integer ” 后, numbers 类型的下标就是自增长, numbers 类型在插入元素时,不需要初始化,不需要每次 extend 增加一个空间。
而如果没有这句话“ index by binary_integer ”,那就得要显示对初始化,且每插入一个元素到 numbers 类型的 table 中时,都需要先 extend.
示例:
没加“ index by binary_integer ”时:

declare
  type numbers is table of number ;
 n    numbers := numbers() ;
begin   
   n.extend;
   n( 1 ) := 2 ;
   n.extend;
   n( 2 ) := 3 ;
 
   for i in 1 .. n.count loop
     dbms_output.put_line(n(i));
   end loop ;
end ;
输出: 2 3

 
而如果加了“ index by binary_integer ”,代码如下写就可以达到上面的效果

declare
  type numbers is table of number index by binary_integer ;
 n numbers;
begin
   n( 1 ) := 2 ;
   n( 2 ) := 3 ;
  
   for i in 1 .. n.count loop
     dbms_output.put_line(n(i));
   end loop ;
end ;

 

你可能感兴趣的:(oracle,oracle,职场,index,by,休闲,binary_integer)