从SQL中的对象获取数据

Vis*_*amy 4 sql oracle plsql object

我有一个SQL函数,它返回一个对象.

select some_function(acctID) from dual;
Run Code Online (Sandbox Code Playgroud)

以上返回一个对象

[CISADM.CM_MTR_READ_OBJ]
Run Code Online (Sandbox Code Playgroud)

我需要从对象中获取单个值.

Nic*_*nov 5

返回结果的显示方式在很大程度上取决于您用于执行该查询的客户端.如果您明确指定了要显示的对象实例的属性,那会更好.例如:

create or replace type T_Obj as object(
  prop1 number,
  prop2 date
)  

create or replace function F_1(
   p_var1 in number,
   p_var2 in date
 ) return t_obj is
 begin
   return t_obj(p_var1, p_var2);
 end;

select t.obj.prop1
     , t.obj.prop2
 from (select F_1(1, sysdate) as obj
         from dual) t
Run Code Online (Sandbox Code Playgroud)

结果:

 OBJ.PROP1  OBJ.PROP2
----------  -----------
         1  25-Oct-2013
Run Code Online (Sandbox Code Playgroud)