我需要在对象的方法中选择ref(self)。例如:
CREATE TYPE SOMETYPE_TY AS OBJECT(
attr1 VARCHAR2(20),
attr2 DATE,
MEMBER PROCEDURE AddSomething(A1 VARCHAR2, A2 VARCHAR2)
) NOT FINAL;
如何在一个方法中获得ref(self),如下所示?
CREATE OR REPLACE TYPE BODY SOMETYPE_TY AS
MEMBER PROCEDURE AddSomething(A1 VARCHAR2, A2 VARCHAR2) AS
some_ref REF SOMETYPE_TY;
BEGIN
SELECT REF(SELF) INTO some_ref FROM DUAL;
END AddSomething;
END;
/
我试过用双表,但它告诉我 ORA-24344: success with compilation error
1条答案
按热度按时间sqserrrh1#
你不能。一
REF
是指向对象派生表中的行的指针;它不是指向对象的指针。从
REF
文档:REF
将与对象表或对象视图的行关联的相关变量(表别名)作为其参数。一REF
为绑定到变量或行的对象示例返回值。能够得到一个
REF
对于一个对象,需要将该对象放入一个表中,然后获取REF
对表行的引用。