1

varray の単一の値にアクセスすることは可能ですか?

のようなnewVariable := myArray(value2)--> これにより、配列の 2 番目の値が新しい変数に割り当てられます...

次のようなものも必要です。

FOR CYCLE...
x++
newVariable(x) := myArray(value(x))
END FOR CYCLE 

出来ますか?

Thx、私は情報技術の学生で、これを解決しようとしています。どこを見ればいいのかわからない…

4

1 に答える 1

5

オラクルのオンライン ドキュメントによると、varray 型は、オブジェクトのような配列を作成するために使用される PL/SQL の他のコレクション型の型です (C、Java などの他の古典的なプログラミング言語で理解されているように、配列を意味します)。ただし、長さは 0 から定義時に指定された最大サイズまで変化します。

次に例を示します。

DECLARE
    SUBTYPE country_ty IS VARCHAR2(50);
    TYPE countries_varr_ty IS VARRAY(10) OF country_ty;
    l_varr_countries countries_varr_ty :=
        countries_varr_ty
        (
            'Iran', 'France', 'United Kingdom', 'United States', 'Germany',
            'Spain', 'Canada', 'Australia', 'South Africa', 'Afganistan'
        );
    l_country country_ty;
BEGIN
    FOR counter IN l_varr_countries.FIRST .. l_varr_countries.LAST
    LOOP
        l_country := l_varr_countries(counter);
        DBMS_OUTPUT.PUT_LINE('The current value in the array is: ' 
            || l_country);
    END LOOP;
END;
/

varray の詳細については、次のリンクを参照してください。

http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/composites.htm#CHDEIJHD

よろしく、

ダリヨーシュ

于 2012-11-19T20:19:56.913 に答える