Объектная реляционная БД Oracle: доступ к столбцам ссылочных строк

У меня есть несколько таблиц, и мне нужно создать объектные представления поверх них.

CREATE TABLE Person (
Nr NUMBER(4) PRIMARY KEY,
Name VARCHAR2(15)); 

CREATE TABLE Professor (
Nr NUMBER(4) PRIMARY KEY,
HabilThema VARCHAR2(30));

Я также создал типы:

CREATE OR REPLACE TYPE Person_Typ AS OBJECT(
    Nr INTEGER,
    Name VARCHAR2(15)
);

CREATE OR REPLACE TYPE Professor_Typ AS OBJECT(
    Nr INTEGER,
    Habilthema VARCHAR2(30),
    Person REF Person_Typ
);

Как вы можете видеть, есть ссылка из строки профессора на строку человека. Мнение профессоров теперь должно также включать столбцы человека. Что-то вроде:

CREATE VIEW People OF Person_Typ
    WITH OBJECT IDENTIFIER(Nr) AS
        SELECT p.Nr, p.Name FROM Person p;

CREATE VIEW Professors OF Professor_Typ
    WITH OBJECT IDENTIFIER(Nr) AS 
        SELECT p.Nr, p.Habilthema, p.Person.Name, MAKE_REF(People,p.Nr) FROM Professor p;
                                             ^
                                             |_ Name of professor from Person table

Но это не работает

"P"."PERSON"."NAME" invalid identifier

Может ли это быть достигнуто даже с помощью объекта? Как?

0 ответов

Другие вопросы по тегам