PLSQL Language Referenc-PL/SQL集合和記錄-關聯陣列-宣告關聯陣列常量

LuiseDalian發表於2014-03-11

宣告關聯陣列常量

宣告關聯陣列常量,必須建立一個函式,該函式可以使用初始值來填充關聯陣列,而後在常量的宣告中呼叫該函式。


CREATE OR REPLACE PACKAGE My_Types AUTHID DEFINER IS

    --關聯陣列

    TYPE My_AA IS TABLE OF VARCHAR2(20) INDEX BY PLS_INTEGER;

    --該函式相當於可變陣列和巢狀表的構造器

    FUNCTION Init_My_AA RETURN My_AA;

END My_Types;

 

CREATE OR REPLACE PACKAGE BODY My_Types IS

    FUNCTION Init_My_AA RETURN My_AA IS

        Ret My_AA;

    BEGIN

        Ret(-10) := '-ten';

        Ret(0) := 'zero';

        Ret(1) := 'one';

        Ret(2) := 'two';

        Ret(3) := 'three';

        Ret(4) := 'four';

        Ret(9) := 'nine';

        RETURN Ret;

    END Init_My_AA;

END My_Types;

DECLARE

    --定義關聯陣列常量

    v CONSTANT My_Types.My_AA := My_Types.Init_My_AA();

BEGIN

    DECLARE

        Idx PLS_INTEGER := v.FIRST();

    BEGIN

        WHILE Idx IS NOT NULL LOOP

            DBMS_OUTPUT.PUT_LINE(TO_CHAR(Idx, '999')||LPAD(v(Idx), 7));

            Idx := v.NEXT(Idx);

        END LOOP;

    END;

END;


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

相關文章