sql >> データベース >  >> RDS >> Oracle

Oracleでは、オブジェクトタイプ階層から使用されているオブジェクトタイプを確認するにはどうすればよいですか?

    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;
    

    テスト:

    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. SQL Serverで「datetimeoffset」を「time」に変換します(T-SQLの例)

    2. AndroidのListViewでクエリを削除して更新する(sqlite)

    3. 大きなJSONの保存-バイナリまたはテキスト

    4. postgresを使用して月間経常収益(MRR)の結果を計算します