[Oracle 19c]PL/SQLで配列の数分繰り返すプロシージャのサンプル
環境
Windows 10 Home 64bit
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0
構文
FOR 変数 IN 数値…数値 LOOP
END LOOP;
FOR文を使って、配列の要素を繰り返して取得します。
1.プロシージャの定義
create or replace procedure TESTE IS TYPE CFT IS TABLE OF VARCHAR2(10) INDEX BY BINARY_INTEGER; city CFT; BEGIN city(0) := '東京'; city(1) := '大阪'; city(2) := '福岡'; city(3) := '横浜'; FOR i IN city.FIRST..city.LAST LOOP DBMS_OUTPUT.PUT_LINE(city(i)); END LOOP; END;
2.プロシージャを作成します
SQL> create or replace procedure TESTE 2 IS 3 TYPE CFT IS TABLE OF VARCHAR2(10) INDEX BY BINARY_INTEGER; 4 city CFT; 5 BEGIN 6 city(0) := '東京'; 7 city(1) := '大阪'; 8 city(2) := '福岡'; 9 city(3) := '横浜'; 10 11 FOR i IN city.FIRST..city.LAST 12 LOOP 13 DBMS_OUTPUT.PUT_LINE(city(i)); 14 END LOOP; 15 END; 16 / プロシージャが作成されました。
3.プロシージャを実行します
SQL> set serveroutput on SQL> execute TESTE() 東京 大阪 福岡 横浜 PL/SQLプロシージャが正常に完了しました。