PLSQL Language Referenc-PL/SQL集合和記錄-可變陣列-正確地使用可變陣列

LuiseDalian發表於2014-03-11

可變陣列

是一個陣列,它的元素的個數可以在0和宣告的最大個數之間變動。訪問可變陣列中的元素:

variable_name(index)

index∈(1,元素的個數),上限值隨著插入和刪除元素而改動,但不能超過最大值。

資料庫以單個物件儲存可變陣列變數,如果可變陣列變數 < 4KB,則它位於表內,該表只有一列,否則位於表外,但在相同的表空間中。

一個未初始化的可變陣列是一個NULL集合。必須指定它為EMPTY或賦予一個非NULL的值對其進行初始化。

DECLARE

    --可變陣列

    TYPE Foursome IS VARRAY(4) OF VARCHAR2(15);

    -- 使用構造器初始化可變陣列變數

    team Foursome := Foursome('AAAA', 'BBBB', 'CCCC', 'DDDD');

    --巢狀子程式

    PROCEDURE print_team (heading VARCHAR2) IS

    BEGIN

        DBMS_OUTPUT.PUT_LINE(heading);

        FOR i IN 1..4 LOOP

            DBMS_OUTPUT.PUT_LINE(i || '.' || team(i));

        END LOOP;

        DBMS_OUTPUT.PUT_LINE('---');

    END; 

BEGIN

    print_team('第一組:');

    team(3) := 'EEEE';  -- 改變2個元素的值

    team(4) := 'FFFF';

    print_team('第二組:');

   

    -- 呼叫構造器給可變陣列變數賦新值

    team := Foursome('GGGG', 'HHHH', 'IIII', 'JJJJ');

    print_team('第三組:');

END;

正確地使用可變陣列

可變陣列適用於:

n  知道元素的最大個數

n  通常順序地訪問這些元素

 

因為必須同時獲取和儲存所有元素,所以可變陣列不適用於大量的元素。

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

相關文章