|
|||||||
Доктора + пациенты на проходной
Время создания: 12.11.2017 13:47
Раздел: PL/SQL - Задачник - TYPES
Запись: xintrea/mytetra_db_mcold/master/base/1510483636is3w84u8ok/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
CREATE OR REPLACE TYPE person_typ AS OBJECT (name VARCHAR2(30)) NOT FINAL / CREATE OR REPLACE TYPE employee_typ UNDER person_typ (empid NUMBER) NOT FINAL / CREATE OR REPLACE TYPE visitor_typ UNDER person_typ (regid NUMBER) NOT FINAL / CREATE OR REPLACE TYPE doctor_typ UNDER employee_typ (speciality VARCHAR2(30) , phone VARCHAR2(7) ) / CREATE OR REPLACE TYPE stuff_typ UNDER employee_typ (job VARCHAR2(30)) / ----- определение соотношения потомок-предок SELECT supertype_name, type_name FROM user_types
ORDER BY 1, 2;
----
И посетители, и сотрудники проходят через проходную, где отмечаются в таблице CHECKPOINT:
CREATE TYPE checkpoint_typ AS OBJECT
( entrytime DATE
, person person_typ )
/
CREATE TABLE checkpoint2 OF checkpoint_typ;
/
--------
Вставляем записи:
INSERT INTO checkpoint VALUES
( SYSDATE
, employee_typ ( 'Scott', 1111 ) );
INSERT INTO checkpoint VALUES
( SYSDATE
, visitor_typ ( 'Adams', 333 ) );
INSERT INTO checkpoint VALUES
( SYSDATE
, doctor_typ ( 'Smith', 2222, 'Therapeutist', '7778899' ) );
INSERT INTO checkpoint VALUES
( SYSDATE
, stuff_typ ( 'Alice', 4444, 'Office-cleaner' ) ); |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|