оракул pl / sql массивы - PullRequest
       1

оракул pl / sql массивы

10 голосов
/ 23 августа 2010

У меня есть несколько чисел, которые я хочу сохранить в массиве. Как я буду объявлять массив и присваивать ему значение в оракуле PL / SQL ??

1 Ответ

16 голосов
/ 23 августа 2010

В PL / SQL есть типы массивов, но мы можем создать их сами, используя таблицу

declare 
  type NumberArray is table of number index by binary_integer;
  myArray NumberArray;
begin

   myArray(0) := 1
   myArray(1) := 2 
   --or use a for loop to fill
end;

Пояснительная статья

РЕДАКТИРОВАТЬ :

или, как сказал Адам Муш , если мы знаем размер данных, над которыми мы работаем, мы можем использовать VARRAYs с фиксированной длиной, это среда oracle, поэтому подписчики начинают от 1,

В качестве альтернативы используется VARRAY, где индекс массива начинается с 1, а длина VARRAY фиксирована.

Семантический:

declare  type VarrayType is varray(size) of ElementType;

Пример:

    declare
      type NumberVarray is varray(100) of NUMERIC(10);
      myArray NumberVarray;
    BEGIN
      myArray := NumberVarray(1,10,100,1000,10000);

      myArray(1) = 2;

      for i in myArray.first..myArray.last
      loop
        dbms_output.put_line('myArray(' || i || '): ' || myArray(i));
      end loop;  
    end;
END;

Выход:

myArray(1) : 2
myArray(2) : 10
myArray(3) : 100
myArray(4) : 1000
myArray(5) : 10000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...