oracle 指针属性赋值

xiaonan 2016-03-22 10:55:49
定义了一个类型
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

应该怎么赋值?

...全文
179 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaonan 2016-03-22
  • 打赏
  • 举报
回复
怎么没有人回答,在线等。

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧