Как мне заполнить таблицу с помощью триггеров - PullRequest
0 голосов
/ 16 ноября 2018

Изображение таблиц

Здравствуйте,

Я новичок в sql и знаю только его основы, поэтому у меня возникли некоторые сложности.

Как заполнить таблицы триггером?Чтобы быть более точным, я хочу передать первичный ключ в другую таблицу, скажем, например, я хочу передать id_Academista (PK) из таблицы Academista в id_Academista (FK) в таблице Habilitacoes.

На данный момент у меня естьчто-то вроде этого:

CREATE OR REPLACE TRIGGER ADDCOMP AFTER INSERT ON ACADEMISTA FOR EACH ROW BEGIN INSERT INTO Habilitacoes(id_academista) VALUES((SELECT ID_ACADEMISTA FROM academista)); END;

Я тестирую код на Oracle, но думаю, что это не имеет никакого смысла.

1 Ответ

0 голосов
/ 16 ноября 2018

Вы должны использовать :new.id_Academista, чтобы вставить значение в другую таблицу.Попробуйте следующий код:

CREATE OR REPLACE TRIGGER ADDCOMP 
AFTER INSERT ON ACADEMISTA
FOR EACH ROW
BEGIN
  INSERT INTO Habilitacoes(id_academista)
  VALUES((:new.id_Academista));
END;

Здесь параметр :new представляет последнюю строку, вставленную в таблицу Academista.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...