sql >> Databáze >  >> RDS >> Oracle

Jak použít typ tabulky v příkazu SELECT FROM?

V SQL můžete použít pouze typ tabulky, který je definován na úrovni schématu (nikoli na úrovni balíčku nebo procedury), a index-by table (asociativní pole) nelze definovat na úrovni schématu. Takže - musíte definovat vnořenou tabulku takto

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 pak to můžete použít v SQL s operátorem TABLE, například:

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. Jak CAST() funguje v SQL Server

  2. Jak lze porazit sanitaci bez jednoduchých uvozovek injekcí SQL na serveru SQL?

  3. Databáze SQL Server Statistiky využití CPU

  4. SQL aritmetické operátory