plsql 配列の初期化方法は?

PL/SQLでは配列の初期化に次のような方法が用いられます。

  1. PL/SQLの変数宣言を使用して配列を初期化する:
DECLARE
   TYPE array_type IS VARRAY(3) OF VARCHAR2(10);
   my_array array_type := array_type('Value1', 'Value2', 'Value3');
BEGIN
   -- 数组操作
   ...
END;
  1. 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)を定義する必要があります。

bannerAds