38 lines
774 B
SQL
38 lines
774 B
SQL
-- Création de "Transactions"
|
|
-- -- ACID : Atomique, Cohérence, Isolation, Durabilité
|
|
-- -- minimum deux requêtes, et si l'une échoue,
|
|
-- -- la BDD revient à l'état initial. Toutes passent sinon aucune
|
|
|
|
-- -- -- On veut transférer un employé vers un autre département
|
|
-- -- -- avec un nouveau job, et archiver son poste dans job_history
|
|
|
|
START transaction;
|
|
|
|
-- -- -- 1. Archivage
|
|
|
|
insert into job_history (
|
|
employee_id,
|
|
start_date,
|
|
end_date,
|
|
job_id,
|
|
department_id
|
|
)
|
|
select
|
|
employee_id,
|
|
e.hire_date,
|
|
current_date,
|
|
e.job_id,
|
|
e.department_id
|
|
from employee e
|
|
where e.employee_id = 101;
|
|
|
|
-- -- -- 2. Mettre à jour le job et département
|
|
|
|
update employee
|
|
set
|
|
job_id = "SA_REP",
|
|
department_id = 80,
|
|
hire_date = current_date
|
|
where employee_id = 101;
|
|
|
|
COMMIT; |