2013-10-25 121 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