Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Oracle PL/SQL - Jak stworzyć prostą zmienną tablicową?

Możesz użyć VARRAY dla tablicy o stałym rozmiarze:

declare
   type array_t is varray(3) of varchar2(10);
   array array_t := array_t('Matt', 'Joanne', 'Robert');
begin
   for i in 1..array.count loop
       dbms_output.put_line(array(i));
   end loop;
end;

Lub TABLE dla nieograniczonej tablicy:

...
   type array_t is table of varchar2(10);
...

Słowo „tabela” nie ma tutaj nic wspólnego z tabelami bazy danych, co jest mylące. Obie metody tworzą tablice w pamięci.

W przypadku jednego z tych elementów musisz zarówno zainicjować, jak i rozszerzyć kolekcję przed dodaniem elementów:

declare
   type array_t is varray(3) of varchar2(10);
   array array_t := array_t(); -- Initialise it
begin
   for i in 1..3 loop
      array.extend(); -- Extend it
      array(i) := 'x';
   end loop;
end;

Pierwszy indeks to 1, a nie 0.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak utworzyć obiekt oracle.sql.ARRAY?

  2. Zdanie BETWEEN kontra <=AND>=

  3. Jak wypełnić tabelę kalendarza w Oracle?

  4. Oracle PL/SQL:Tworzenie pakietu DML online

  5. Zestaw testowy konfiguracji AOL/J