как получить значение ссылки таблицы объектов в oracle

#oracle

#Oracle

Вопрос:

 create table mbastudent

(
semester  varchar2(20) ,

stud_info student
);
  

это таблица объектов, которую я создал

теперь вводится значение—

 insert into mbastudent

(semester,stud_info ) 

values 
('1st' ,student(1100 ,'KUMAR', '07-OCT-80', '04-MAR-14', 15000))

insert into mbastudent

(semester,stud_info ) 

values ('2nd',student(1101,'SESHU', '07-OCT-81', '04-MAR-14', 15000));
  

select ref(a) from mbastudent a;

—как получить исходное значение объекта

Ответ №1:

Вы можете найти его в документах Oracle с сайта

Я не знаю сейчас структуру student. Мое предложение

 student (
id number,
name varchar2(4000),
birthday date,
begin_date date,
cost number
)
  

И вы хотите получить имя, стоимость и семестр

 SELECT semester, stud_info.name, stud_info.cost
  FROM mbastudent s
  

Комментарии:

1. Привет, Майкл, я хочу получить значение ref() объекта типа student, я хочу использовать его как тип данных ссылки в другой таблице, например: СОЗДАТЬ ТАБЛИЦУ StudentIncharges ( InchargeName VARCHAR2(30), StudentIncharge ССЫЛКА STUDENT );

2. Привет, что вы подразумеваете под типом данных ref. Если это просто sql-тип для использования, например, insert как select. Вы можете использовать только select stud_info FROM mbastudent s . это запрос возвращает stud_info как тип sql. и вы обрабатываете его в PL SQL student , например, как тип данных. Если я ошибаюсь, не могли бы вы указать, зачем вам нужен тип данных ref и что вы имеете в виду, когда говорите тип данных ref?