4

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

select some_function(acctID) from dual;

上面返回一个对象,如

[CISADM.CM_MTR_READ_OBJ]

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

4

1 回答 1

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

结果:

 OBJ.PROP1  OBJ.PROP2
----------  -----------
         1  25-Oct-2013
于 2013-10-25T06:46:11.433 回答