Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Trong Oracle, làm cách nào để xác minh kiểu đối tượng được sử dụng từ hệ thống phân cấp kiểu đối tượng?

Bạn có thể kiểm tra loại đối tượng bằng cách sử dụng 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;

Kiểm tra:

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. Cột cắt bớt Oracle

  2. Chế độ xem cụ thể hóa trong oracle với Làm mới nhanh thay vì liều lượng hoàn chỉnh không hoạt động

  3. Tôi có thể thay đổi thuộc tính AutoCommit của kết nối JDBC nhiều lần không

  4. Oracle Date - Cách thêm năm vào ngày tháng

  5. Định dạng kết quả truy vấn số SQL với một số vị trí thập phân tùy ý