2013-10-25 76 views
3

我有一个SQL函数,它返回一个对象。从SQL中的对象获取数据

select some_function(acctID) from dual; 

以上的回报像

[CISADM.CM_MTR_READ_OBJ] 

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

+0

邮政功能 – Sal00m

+0

的funtion是非常大的,我将添加的返回对象 –

+0

return_obj:= cm_mtr_read_obj(readdttm,reg_reading,read_type,reader_rem_cd); RETURN return_obj; –

回答

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