index by 在Oracle中的應用

sql: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;
  m   numbers := numbers();
  begin
  m.extend;
  m(1) := 2;
  m.extend;
  m(2) := 3;
  for i in1 .. m.count loop
  dbms_output.put_line(m(i));
  end loop;
  end;

輸出:2,3

  • 而如果加了“index by binary_integer”,代碼如下寫就可以達到上面的效果
 declare 
 type numbers is table of number index by binary_integer;
 m numbers;
 begin
 m(1) := 2;
 m(2) := 3;
 for i in 1..m.count loop
 dbms_output.put_line(m(i));
 end loop;
 end;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章