oracle对象关系-如何在plsql中获取ref(self)

eqqqjvef  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(340)

我需要在对象的方法中选择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

sqserrrh

sqserrrh1#

你不能。一 REF 是指向对象派生表中的行的指针;它不是指向对象的指针。
REF 文档: REF 将与对象表或对象视图的行关联的相关变量(表别名)作为其参数。一 REF 为绑定到变量或行的对象示例返回值。
能够得到一个 REF 对于一个对象,需要将该对象放入一个表中,然后获取 REF 对表行的引用。

相关问题