Как вставить в родительскую и соответствующую дочернюю таблицу в Oracle дБ? - PullRequest
0 голосов
/ 31 марта 2020

Допустим, у меня есть 3 таблицы, которые называются Персона, Учитель, Студент. Таблицы учителя и ученика являются дочерними таблицами таблицы «Персона».

enter image description here

Когда я вставляю новую строку в таблицу Person, она должна автоматически вставлять соответствующие данные (зарплата / школа) в соответствующую таблицу. Идентификаторы учеников начинаются с STxxxx, а идентификаторы учителей начинаются с Txxxx. Я попытался выяснить несколько примеров триггеров, но я не мог применить его для этого сценария. Как я могу добиться этого, используя Oracle базу данных? Или есть какой-то другой способ создать эту связь в базе данных?

1 Ответ

1 голос
/ 31 марта 2020

Триггер INSERT можно использовать следующим образом:

CREATE OR REPLACE TRIGGER PERSON_TRG 
    AFTER INSERT ON PERSON
    FOR EACH ROW
BEGIN 
    IF :NEW.ID LIKE 'ST%' THEN
        INSERT INTO STUDENT VALUES ( :NEW.ID, <SCHOOL_NAME>);
    ELSIF :NEW.ID LIKE 'T%' THEN
        INSERT INTO TEACHER VALUES (:NEW.ID, <SALARY> );
    END IF;
END;
/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...