0

オブジェクトを Oracle オブジェクト テーブルから deref 変数に取得する最良の方法を知りたいです。

これは私の実際の方法です。タイプを仮定しましょう:

create or replace TYPE person AS OBJECT (
  dni            VARCHAR2(20),
  nom            VARCHAR2(20),
  MAP MEMBER FUNCTION get_dni RETURN varchar2
);

create or replace TYPE BODY person AS
  MAP MEMBER FUNCTION get_dni RETURN varchar2 IS
  BEGIN
    RETURN dni;
  END;
END;

このオブジェクト テーブルでは:

create table partners of person;

次に、person変数を取得するには、次のようにします。

declare
    a_person person;
begin
    select deref(ref(p)) into a_person
      from partners p 
     where p.dni = 1;
    ...
end;

unref オブジェクトを取得するよりエレガントな方法はありますか?

4

1 に答える 1