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

Di Oracle, bagaimana cara memverifikasi tipe objek yang digunakan dari hierarki tipe objek?

Anda dapat memeriksa jenis objek menggunakan sys.anydata :

create or replace function which_type
    ( p_fv fv )
    return varchar2
as
begin
    return sys.anydata.gettypename(sys.anydata.convertobject(p_fv));
end which_type;

Tes:

create or replace type number_array as table of number;
create or replace type integer_array as table of integer;

create or replace type fv as object (
   idno           number)
not final;
/

create type fv_integer under fv (
   features integer_array)
   not final;
/

create type fv_number under fv (
   features number_array)
   not final;
/

create table fv_test (my_fv fv);

insert into fv_test values (fv(1));
insert into fv_test values (fv_integer(1, integer_array(1)));
insert into fv_test values (fv_number(1, number_array(1)));

select which_type(my_fv) from fv_test;

WHICH_TYPE(MY_FV)
-------------------------
WILLIAM.FV
WILLIAM.FV_INTEGER
WILLIAM.FV_NUMBER

3 rows selected.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mutasi Tabel di Oracle 11 disebabkan oleh suatu fungsi

  2. Oracle, cara membuka kursor dan memilih satu kolom dari banyak menjadi variabel

  3. Menghitung baris dalam gabungan dalam

  4. Cara mendapatkan tanggal terdekat di Oracle sql

  5. Apakah ini praktik yang buruk untuk menggunakan instruksi EXIT WHEN saat mengulang melalui CURSOR di Oracle?