Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit
Созданы объекты:
Код: Выделить всё
CREATE OR REPLACE TYPE address as OBJECT...
CREATE OR REPLACE TYPE address_tab as table of ADDRESS...
CREATE OR REPLACE TYPE k_obj as OBJECT (ID VARCHAR2(12), ADDRESSES ADDRESS_TAB...
CREATE TABLE k_obj_tab OF K_OBJ (ID...
Код: Выделить всё
select
kot.ID, kot.ADDRESSES
from
K_OBJ_TAB kot
where
kot.ID = :p_ID
Поизучал демки в комплекте к Odac. Попробовал сделать через OraSql (хотя, конечно, это более неудобно, чем через Query).
Код: Выделить всё
select ADDRESSES into :RES from K_OBJ_TAB where ID = :p_ID
Код: Выделить всё
ParamByName('p_ID').Value := mdRecordID.AsVariant;
ParamByName('RES').DataType := ftTable;
ParamByName('RES').ParamType := ptOutput;
ParamByName('RES').AsTable.CreateObject(dmDB.orsn.OCISvcCtx, 'ADDRESS_TAB');
Execute;
Код: Выделить всё
ORA-01036:_illegal variable name/number