你试一下用 VALUE 代替ref!~~~
把上面的sql换成
select value(a) as medical_mode from t_medical_mode a where a.mode_NAME='糖衣片'

解决方案 »

  1.   

    问题解决了对于自定义的对象类型,有二种方法插入:
    1.插入一个对象引用(ref):不能直接插入,只有先插入一个null,然后用update语句:
    update T_MEDICAL_NEW set medical_mode=(select ref(a) as medical_mode from t_medical_mode a where a.mode_NAME='糖衣片')。
    插入一个对象引用后要取出该对象要用deref:
    select deref(medical_mode) from T_MEDICAL_NEW .
    2.直接插入一个对象:
    insert into  T_MEDICAL_NEW values(...,MEDICAL_MODE(value1,value2,value3...),...)
    取出该对象要用       
    select a.MEDICAL_MODE.MODE_ID ,...  from T_MEDICAL_NEW a