Я пытаюсь разработать университетскую базу данных с помощью вложенных таблиц, я успешно создал все остальные требуемые вложенные таблицы и вставленные данные, но при вставке данных в таблицу меток я сталкиваюсь с проблемой несогласованного типа данных.
коды:
CREATE OR REPLACE TYPE MODULE_MARKS;
CREATE OR REPLACE TYPE MM_NT_TYPE AS TABLE OF REF MODULE_MARKS;
CREATE OR REPLACE TYPE MODULE_MARKS AS OBJECT
(
MODULE REF MODULE_T, MARKS_OBTAINED, TOTAL_MARKS, STATUS
)
CREATE TABLE MARK_TAB
(
student ref student_t,
modules_marks mm_nt_type
)
Я могу правильно вставить ссылку на студента, но хочу вставить данные в module_marks.
Пробовал делать:
INSERT INTO MARK_TAB VALUES((SELECT REF(S) FROM STUDENT_TAB S WHERE
S.S_ID=1),
MM_NT_TYPE( MODULE_MARKS_T((SELECT REF (M) FROM MODULE_TAB M WHERE
M.MODULE_ID =1),
90,100,'PASS')));
это вызывает ошибку ORA-00932. ОЖИДАЕМЫЕ ССЫЛКИ MODULE_MARKS_T ПОЛУЧИЛ MODULE_MARKS_T.