熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracle:PL/SQL中如何使用Array

2022-06-13   來源: Oracle 

  因為在PL/SQL中並沒有數組這是我查資料找的范例和自己寫的范例來解釋如何在PL/SQL中使用數組也許很多人已知道不過就是讓不知道的朋友們了解一下吧

   

   單維數組

   

  DECLARE

  TYPE emp_ssn_array IS TABLE OF NUMBER

  INDEX BY BINARY_INTEGER;

   

  best_employees emp_ssn_array;

  worst_employees emp_ssn_array;

   

  BEGIN

  best_employees() := ;

  best_employees() := ;

   

  worst_employees() := ;

  worst_employees() := ;

   

  FOR i IN unt LOOP

  DBMS_OUTPUTPUT_LINE(i=|| i || best_employees= ||best_employees(i)

  || worst_employees= ||worst_employees(i));

  END LOOP;

   

  END;

   

   多維數組

   

  DECLARE

   

  TYPE emp_type IS RECORD

  ( emp_id employee_tableemp_id%TYPE

  emp_name employee_tableemp_name%TYPE

  emp_gender employee_tableemp_gender%TYPE );

   

  TYPE emp_type_array IS TABLE OF

  emp_type INDEX BY BINARY_INTEGER;

   

  emp_rec_array emp_type_array;

  emp_rec emp_type;

   

  BEGIN

  emp_recemp_id := ;

  emp_recemp_name := Barbara;

  emp_recemp_gender := Female;

   

  emp_rec_array() := emp_rec;

   

  emp_recemp_id := ;

  emp_recemp_name := Rick;

  emp_recemp_gender := Male;

   

  emp_rec_array() := emp_rec;

   

  FOR i IN unt LOOP

  DBMS_OUTPUTPUT_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= emp_id = emp_name =Barbara emp_gender = Female

  i= emp_id = emp_name =Rick emp_gender = Male

   

  注在PL/SQL中是沒有數組(Array)概念的但是如果程序員想用Array的話就得變通一下用TYPE 和Table of Record來代替多維數組一樣挺好用的

   

  emp_type 就好象一個table 中的一條record 一樣裡面有id namegender等emp_type_array 象個table 裡面含有一條條這樣的record (emp_type)就象多維數組一樣


From:http://tw.wingwit.com/Article/program/Oracle/201311/17113.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.