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

Jak używać typu tabeli w instrukcji SELECT FROM?

W SQL można używać tylko typu tabeli, który jest zdefiniowany na poziomie schematu (nie na poziomie pakietu lub procedury), a tabela indeksowana (tablica asocjacyjna) nie może być zdefiniowana na poziomie schematu. Więc - musisz zdefiniować zagnieżdżoną tabelę w ten sposób

create type exch_row as object (
    currency_cd VARCHAR2(9),
    exch_rt_eur NUMBER,
    exch_rt_usd NUMBER);

create type exch_tbl as table of exch_row;

A potem możesz go użyć w SQL z operatorem TABLE, na przykład:

declare
   l_row     exch_row;
   exch_rt   exch_tbl;
begin
   l_row := exch_row('PLN', 100, 100);
   exch_rt  := exch_tbl(l_row);

   for r in (select i.*
               from item i, TABLE(exch_rt) rt
              where i.currency = rt.currency_cd) loop
      -- your code here
   end loop;
end;
/


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java - przekazywanie tablicy w procedurze składowanej Oracle

  2. Oracle:Połącz wiele wyników w podzapytaniu w jedną wartość oddzieloną przecinkami

  3. SQL — Znajdź brakujące wartości int w przeważnie uporządkowanych szeregach sekwencyjnych

  4. Instalowanie 32-bitowego klienta Oracle na serwerze Windows, na którym już działa 64-bitowy serwer bazy danych Oracle

  5. wyświetl niestandardowy tekst sql z wyniku kolumny tabeli