Как получить дату удаления записи в SQL? - PullRequest
0 голосов
/ 24 марта 2020

Мне нужно удалить конкретную c студента из таблицы stdnt и вставить данные об этих студентах в новую таблицу stdnt_log , включая поле leaving_date, которое будет дата удаления записи

sql = "INSERT INTO stdnt_log SELECT rollno, name, grade, leaving_date FROM stdnt WHERE rollno = ?";

sql = "DELETE FROM stdnt WHERE rollno = ?";

1 Ответ

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

Более простой вариант - если вы можете / хотите применить его - это изменить таблицу stdnt и добавить еще один столбец: deactivation_date:

alter table stdnt add deactivation_date date;

Как только кто-то отключит , просто обновите этот столбец:

update stdnt set 
  deactivation_date = sysdate
  where student_id = some_value;

Активные учащиеся тогда будут

select * from stdnt where deactivation_date is null;

Проще реализовать, проще поддерживать. Drawback? Таблица будет все больше и больше, но, эй, это Oracle, она обрабатывает zillions строк без проблем.

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