TRIM

TRIM メソッドは、コレクションの最後から要素を削除します。 TRIM メソッドの構文は次のとおりです。

<collection>.TRIM[(<count>)]

collection はコレクションの名前です。

count は、コレクションの最後から削除された要素の数です。 count が 0 より小さいか、コレクション内の要素の数より大きい場合、AdvancedServerはエラーを返します。

次の例は、 TRIM メソッドを使用してコレクションの末尾から要素を削除する方法を示しています。

DECLARE
    TYPE sparse_arr_typ IS TABLE OF NUMBER;
    sparse_arr      sparse_arr_typ := sparse_arr_typ(-100,-10,0,10,100);
BEGIN
    DBMS_OUTPUT.PUT_LINE('COUNT: ' || sparse_arr.COUNT);
    sparse_arr.TRIM;
    DBMS_OUTPUT.PUT_LINE('COUNT: ' || sparse_arr.COUNT);
END;

COUNT: 5
COUNT: 4

COUNT は、 TRIM メソッドの前に、コレクションに 5 要素があったことを示します。 TRIM メソッドが呼び出された後、コレクションには 4 要素が含まれます。

TRIM メソッドを使用して、コレクションの末尾から削除する要素の数を指定することもできます。

DECLARE
    TYPE sparse_arr_typ IS TABLE OF NUMBER;
    sparse_arr      sparse_arr_typ := sparse_arr_typ(-100,-10,0,10,100);
    v_results       VARCHAR2(50);
BEGIN
    DBMS_OUTPUT.PUT_LINE('COUNT: ' || sparse_arr.COUNT);
    sparse_arr.TRIM(2);
    DBMS_OUTPUT.PUT_LINE('COUNT: ' || sparse_arr.COUNT);
    FOR i IN sparse_arr.FIRST .. sparse_arr.LAST LOOP
        IF sparse_arr(i) IS NULL THEN
            v_results := v_results || 'NULL ';
        ELSE
            v_results := v_results || sparse_arr(i) || ' ';
        END IF;
    END LOOP;
    DBMS_OUTPUT.PUT_LINE('Results: ' || v_results);
END;

COUNT: 5
COUNT: 3
Results: -100 -10 0

COUNT は、 TRIM メソッドの前に、コレクションに 5 要素があったことを示します。 TRIM メソッドが呼び出された後、コレクションには 3 要素が含まれます。