CREATE OR REPLACE PROCEDURE RIVUS.INITIAL_9x9
IS
TYPE tElement IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
TYPE tSquare IS TABLE OF tElement INDEX BY BINARY_INTEGER;
vSquare tSquare;
PROCEDURE INITIALIZE( P_ARRAY OUT tSquare)
IS
BEGIN
FOR i in 1 .. 9 LOOP
FOR j in 1..9 LOOP
P_ARRAY(i)(j) := i * j;
END LOOP;
END LOOP;
END;
BEGIN
INITIALIZE(vSquare);
DBMS_OUTPUT.PUT_LINE('3×7=' || vSquare(3)(7));
END;
/
-- 実行例
SQL> call initial_9x9();
3×7=21
コールが完了しました。