pl/sql集合型別_varray(二)

wisdomone1發表於2011-09-23
-------------------------------------------------------------------------------------
變長陣列 varray
   
    它是一種用於處理PL/SQL陣列的資料型別,它也可以使用表列的資料型別使用
   
    它的元素下標以1開始,並且最大元素個數是有限制
   
    定義VARRAY的語法如下:
            --not null表示不能引用空元素
       TYPE TYPE_NAME IS VARRAY(SIZE_LIMIT) OF ELEMENT_TYPE [NOT NULL]; --SIZE_LIMIE表示VARRAY的元素個數
          IDENTIFIER TYPE_NAME;
         
          在使用VARRAY時,必須要使用構造方法初始化VARRAY元素,示例如下;
            DECLARE
                  TYPE ENAME_TABLE_TYPE IS VARRAY(20) OF EMP.ENAME%TYPE;
                  ENAME_TABLE ENAME_TABLE_TYPE:=ENAME_TABLE_TYPE('A','B');
             
         
          下面興例說明使用VARRAY的方法:
             示例一:在PL/SQL塊中使用VARRAY
                        DECLARE
                          TYPE ENAME_TABLE_TYPE IS VARRAY(20) OF EMP.ENAME%TYPE;
                          ENAME_TABLE ENAME_TABLE_TYPE:=ENAME_TABLE_TYPE('MARY');   
                        BEGIN
                           SELECT ENAME INTO ENAME_TABLE(1) FROM EMP WHERE EMPNO=&NO;
                           DBMS_OUTPUT.PUT_LINE('EMPLOYEE:'||ENAME_TABLE(1));
                        END;
                        / 
                       
                示例二:在表列中使用VARRAY
                    在表列中使用VARRAY,必須使用CREATE TYPE建立VARRAY型別,在表列中使用它的示例如下:
                      create type phone_type is varray(10) of varchar2(10);
                      /
                      create table employee(
                      id number,
                      name varchar2(10),
                      phone phone_type);
                      /
                         

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-708201/,如需轉載,請註明出處,否則將追究法律責任。

相關文章