Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bagaimana cara menggunakan tipe tabel dalam pernyataan SELECT FROM?

Dalam SQL Anda hanya dapat menggunakan tipe tabel yang didefinisikan pada tingkat skema (bukan pada tingkat paket atau prosedur), dan tabel indeks-oleh (array asosiatif) tidak dapat ditentukan pada tingkat skema. Jadi - Anda harus mendefinisikan tabel bersarang seperti ini

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;

Dan kemudian Anda dapat menggunakannya dalam SQL dengan operator TABLE, misalnya:

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. Oracle CLOB tidak dapat memasukkan lebih dari 4000 karakter?

  2. Sertifikasi Oracle

  3. ORA-01658:tidak dapat membuat tingkat AWAL untuk segmen di tablespace TS_DATA

  4. Dapatkan hasil teratas untuk setiap grup (di Oracle)

  5. cara mengonversi string tanggal ke format tanggal di oracle10g