plsql 配列の初期化方法は?
PL/SQLでは配列の初期化に次のような方法が用いられます。
- PL/SQLの変数宣言を使用して配列を初期化する:
DECLARE
TYPE array_type IS VARRAY(3) OF VARCHAR2(10);
my_array array_type := array_type('Value1', 'Value2', 'Value3');
BEGIN
-- 数组操作
...
END;
- PL/SQL式を使用して配列を初期設定する:
DECLARE
my_array VARCHAR2(10) := 'Value1,Value2,Value3';
array_type array_type := array_type();
BEGIN
-- 分割字符串并将值添加到数组
FOR i IN 1..LENGTH(my_array)-LENGTH(REPLACE(my_array,',',''))+1 LOOP
array_type.EXTEND;
array_type(i) := SUBSTR(my_array, INSTR(my_array,',',1,i-1)+1, INSTR(my_array,',',1,i)-INSTR(my_array,',',1,i-1)-1);
END LOOP;
-- 数组操作
...
END;
第二の方法で配列を初期化する場合、先にデータを格納する配列型(array_type)を定義する必要があります。