Oracle中index by binary_integer的作用

在寫存儲過程中看到這樣定義數組的寫法,如語句:type  my_number_arr  is table of number index by binary_integer;其作用是,加了”index by binary_integer ”後,my_number_arr類型的下標就是自增長,my_number_arr類型在插入元素時,不需要初始化,不需要每次extend增加一個空間。

  而如果沒有這句話“index by binary_integer”,那就得要顯示對初始化,且每插入一個元素到numbers類型的table中時,都需要先extend.

  示例:

  沒加“index by binary_integer”時:

  declare

  type my_number_arr is table of number;

  n    my_number_arr:= my_number_arr();

  begin

  n.extend;

  n(1) := 2;

  n.extend;

  n(2) := 3;

  for i in1 .. n.count loop

  dbms_output.put_line(n(i));

  end loop;

  end;

  輸出:2,3

  而如果加了“index by binary_integer”,代碼如下寫就可以達到上面的效果

  declare

  type my_number_arr is table of number index by binary_integer;

  n my_number_arr;

  begin

  n(1) := 2;

  n(2) := 3;

  for i in1 .. n.count loop

  dbms_output.put_line(n(i));

  end loop;

  end;

發佈了12 篇原創文章 · 獲贊 2 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章