以下代码有什么区别?
CREATE TYPE f1_MemberType AS OBJECT (
NINum VARCHAR2(10),
Name VARCHAR2(20),
Address f1_AddressType)
/
和
CREATE TYPE f1_MemberType AS OBJECT (
NINum VARCHAR2(10),
Name VARCHAR2(20),
Address REF f1_AddressType)
/
修改
使用REF而不是仅为元素提供类型的原因是什么?
答案 0 :(得分:1)
不同之处在于引用在内存中保留为指向实际对象的指针,然后必须将其解引用才能用作数据。
可以比复制数据本身更便宜地在对象之间复制引用(因为指针将是一个简单的数字内存地址,而不是几个字段,可能包括字符串,日期等)。这将允许在F1_MemberType的实例之间轻松复制地址,因为当你想要引用对象中的实际数据时,必须取消引用指针。