Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да използвам тип таблица в оператор SELECT FROM?

В SQL можете да използвате само тип таблица, който е дефиниран на ниво схема (не на ниво пакет или процедура), а индекс по таблица (асоциативен масив) не може да бъде дефиниран на ниво схема. Така че - трябва да дефинирате вложена таблица по този начин

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;

И тогава можете да го използвате в SQL с оператор TABLE, например:

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. Как да заредя JAR файл в базата данни на Oracle?

  2. Резултат от формата за изваждане на времето

  3. Онлайн проверка на синтаксиса на SQL, съответстваща на множество бази данни

  4. Обяснение на оператора на Oracle INTERSECT

  5. Еквивалент на външни таблици на Oracle в SQL Server