Эй, я создаю базу данных для хранения некоторой информации о спортивном клубе, где у меня есть тренеры и спортсмены, но когда я пытаюсь вставить тренеров (энтренадоров) в таблицу, появляются ошибки:
![enter image description here](https://i.stack.imgur.com/YR0hM.png)
Вот мой код:
- Создание типа человека (t_persona), который наследует типы тренера и спортсменов.Мы должны создать функцию, которая возвращает все данные
CREATE OR REPLACE type t_persona as object(
nom VARCHAR2(20),
cognom VARCHAR2(20),
dataNaix DATE,
MEMBER PROCEDURE mostrar
) NOT FINAL;
/
CREATE OR REPLACE type body t_persona AS
MEMBER PROCEDURE mostrar IS
BEGIN
dbms_output.put_line('Nom: ' || nom || 'Cognom: ' || cognom || 'DataNaix: ' || dataNaix);
END;
END;
/
2. Создание типа curs (t_curs).
CREATE OR REPLACE type t_curs as object(
nom VARCHAR2(50),
hores NUMBER(10),
lloc VARCHAR2(50),
dia DATE
);
3.Создание коллекции курсов (t_cursos) типа t_curs.
CREATE OR REPLACE TYPE t_cursos AS varray(20) of t_curs;
4. Создание типа тренера (t_entrenandor), должно быть унаследовано от типаt_persona.У него должна быть функция, которая возвращает все данные, повторно используя функцию t_persona.
CREATE OR REPLACE type t_entrenador under t_persona(
telefon VARCHAR2(9),
cursos t_cursos,
OVERRIDING MEMBER PROCEDURE mostrar);
/
CREATE OR REPLACE type body t_entrenador as
OVERRIDING MEMBER PROCEDURE mostrar is
BEGIN
(self as t_persona).mostrar;
dbms_output.put_line('Telefon: ' || telefon || 'Cursos : ' || cursos);
END;
END;
5.Создать энтэнадоры таблиц, которые содержат энтренадоры.
CREATE TABLE entrenadors of t_entrenador
Вставьте в таблицу entrenadors две энтрены
INSERT INTO entrenadors VALUES('Daniel', 'Rovira', to_date('12/01/2014','DD/MM/YYYY'), '65555222', t_cursos('spinning', 1, 'España', to_date('12/01/2014','DD/MM/YYYY')));
В этом номере 6 происходит ошибка, может кто-нибудь помочь мне найти ошибку?Спасибо!