oracle 指针属性赋值
定义了一个类型
CREATE OR REPLACE TYPE TYP_test FORCE AS OBJECT
(
ID INT,
ref_field REF TYP_ref
);
在存储过程使用,存储过程有参数 ref_object typ_ref
declare
V_test TYP_test; --定义一个对象
V_test := NEW typ_TEST(); --创建实例
现在要把对象ref_object 的指针赋值给V_TEST的属性 ref_field
用法1
V_test.ref_field := ref(ref_object);
报错如下:
PLS-00306: 调用 'REF' 时参数个数或类型错误
用法2
SELECT ref(ref_object) INTO V_test.ref_field FROM DUAL;
报错如下:
PL/SQL: ORA-00932: 数据类型不一致: 应为 TYP_ref, 但却获得 REF TYP_ref
应该怎么赋值?