隨筆 - 9  文章 - 5  trackbacks - 0
          <2009年1月>
          28293031123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          Oracle本身沒數(shù)組的概念,但是通過Oracle的Collections和Records類型可以模仿出單維數(shù)組和多維數(shù)組。

          請參考<<Oracle PL/SQL Programming>> Chapter 11、Chapter 12。


          ---------------------- 單維數(shù)組 ------------------------
          DECLARE
          TYPE emp_ssn_array IS TABLE OF NUMBER INDEX BY BINARY_INTEGER; ----注:聲明一個Collection

          best_employees emp_ssn_array;
          worst_employees emp_ssn_array;

          BEGIN
          best_employees(1) := '123456';
          best_employees(2) := '888888';

          worst_employees(1) := '222222';
          worst_employees(2) := '666666';

          FOR i IN 1..best_employees.count LOOP
          DBMS_OUTPUT.PUT_LINE('i='|| i || ', best_employees= ' ||best_employees(i)
          || ', worst_employees= ' ||worst_employees(i));
          END LOOP;

          END;



          ---------------------- 多維數(shù)組 ------------------------

          DECLARE

          TYPE emp_type IS RECORD ---------注:聲明一個Record類型 emp_type
          ( emp_id employee_table.emp_id%TYPE,           ----Record類型中的成員...
          emp_name employee_table.emp_name%TYPE,
          emp_gender employee_table.emp_gender%TYPE );

          TYPE emp_type_array IS TABLE OF ----注:聲明一個Collection類型 emp_type_array ,其中元素為emp_type類型
          emp_type INDEX BY BINARY_INTEGER;

          emp_rec_array emp_type_array;
          emp_rec emp_type;

          BEGIN
          emp_rec.emp_id := 300000000;
          emp_rec.emp_name := 'Barbara';
          emp_rec.emp_gender := 'Female';

          emp_rec_array(1) := emp_rec;

          emp_rec.emp_id := 300000008;
          emp_rec.emp_name := 'Rick';
          emp_rec.emp_gender := 'Male';

          emp_rec_array(2) := emp_rec;

          FOR i IN 1..emp_rec_array.count LOOP
          DBMS_OUTPUT.PUT_LINE('i='||i
          ||', emp_id ='||emp_rec_array(i).emp_id
          ||', emp_name ='||emp_rec_array(i).emp_name
          ||', emp_gender = '||emp_rec_array(i).emp_gender);
          END LOOP;

          END;
          -------------- Result --------------
          i=1, emp_id =300000000, emp_name =Barbara, emp_gender = Female
          i=2, emp_id =300000008, emp_name =Rick, emp_gender = Male

          posted on 2009-01-13 21:07 依然Fantasy 閱讀(456) 評論(0)  編輯  收藏 所屬分類: Oracle

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 罗田县| 竹山县| 太保市| 莒南县| 沁水县| 青神县| 施秉县| 神池县| 兴宁市| 揭东县| 孝感市| 南宁市| 南安市| 高青县| 九江市| 兴城市| 吉水县| 安庆市| 阿荣旗| 华亭县| 乐山市| 钟山县| 敖汉旗| 永州市| 白城市| 吴川市| 乌审旗| 马鞍山市| 大兴区| 镇江市| 色达县| 肥乡县| 鄄城县| 石柱| 全椒县| 吉水县| 乐平市| 鹤壁市| 许昌市| 遂平县| 偃师市|