我有以下代码片段:
CREATE TYPE ModeleRoue (nom VARCHAR2(10) );
CREATE TYPE Roue (numero NUMBER(20), modele REF ModeleRoue, marque
VARCHAR2(50));
CREATE TYPE Roue (numero NUMBER(20), modele ModeleRoue, marque
VARCHAR2(50));
当涉及到modele列时,比较这两个语句有什么区别?
答案 0 :(得分:1)
CREATE TYPE Roue ( modele ModeleRoue );
在 ModeleRoue
对象中包含 Roue
对象,如果存储在表中,则两个模型将存储在同一行中。
CREATE TYPE Roue ( modele REF ModeleRoue );
在 ModeleRoue
对象中包含对 Roue
对象的引用(指针),但实际引用的 ModeleRoue
对象将存储在另一行中(并且,因为它是不同的类型, 将在不同的表中)。
或者,来自the documentation:
<块引用>REF
将与对象表或对象视图的行相关联的相关变量(表别名)作为其参数。为绑定到变量或行的对象实例返回 REF
值。