如何在 PL/SQL 代码或 SQL 语句中使用 REF 数据类型?

How to use REF datatype in PL/SQL code or in SQL statements?

在我的理解中,REF 是一种可以存储对对象的引用的数据类型。

我创造了一个类型的人。

CREATE TYPE person AS OBJECT(
    names   VARCHAR2(20),
    age     NUMBER(4, 2)
);

我创建了一个 table 并插入了一行。

create table person_table of person;
insert into person_table values ('Sam', 24);

任何人都可以告诉我如何使用 REF 将插入对象的引用存储在其他 table 或 PL/SQL 块中或在任何其他块中使用 REF SQL声明?

您只需在 table 创建中使用 REF 即可存储 PERSON 类型的引用,如下所示:

CREATE TABLE EMPLOYEE
(PERSON_DETAILS REF PERSON);

并且您可以使用 REF 关键字将数据插入到此 table 中,方法是指向 PERSON_TABLE 本身 PERSON 类型的 table,如下所示:

INSERT INTO EMPLOYEE
SELECT REF(P) FROM PERSON_TABLE P WHERE NAMES = 'Sam';