Auto commit
This commit is contained in:
parent
1b42d49ba9
commit
6733da3ec5
@ -128,11 +128,11 @@ BEFORE INSERT ON employee
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
|
||||
IF NEW.salary < (
|
||||
IF NEW.salary > (
|
||||
SELECT j.max_salary
|
||||
FROM job j
|
||||
WHERE j.job_id = NEW.job_id
|
||||
) OR NEW.salary > (
|
||||
) OR NEW.salary < (
|
||||
SELECT j.min_salary
|
||||
FROM job j
|
||||
WHERE j.job_id = NEW.job_id
|
||||
@ -153,6 +153,30 @@ VALUES(DEFAULT, '雷昊', 0, NOW(), 1, 1);
|
||||
|
||||
创建一个触发器 `after_employee_insert`,在插入 `employee` 表数据之后,自动更新 `department` 表中的部门人数(假设 `department` 表新增一个字段 `employee_count`)。
|
||||
|
||||
```sql
|
||||
ALTER TABLE department ADD employee_count INT UNSIGNED;
|
||||
|
||||
DELIMITER $$
|
||||
DROP TRIGGER IF EXISTS after_employee_insert;
|
||||
CREATE TRIGGER after_employee_insert
|
||||
AFTER INSERT ON employee
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE department d
|
||||
SET d.employee_count = (
|
||||
SELECT COUNT(*)
|
||||
FROM employee e
|
||||
WHERE e.dept_id = d.dept_id
|
||||
);
|
||||
END $$
|
||||
DELIMITER ;
|
||||
|
||||
INSERT INTO employee
|
||||
VALUES(DEFAULT, '雷昊', 60000.00, NOW(), 1, 1);
|
||||
```
|
||||
|
||||
|
||||
|
||||
#### 练习题 3: 工资变更日志
|
||||
|
||||
创建一个触发器 `after_employee_update`,在更新 `employee` 表的 `salary` 字段后,将变更记录插入到一个新的日志表 `salary_log` 中,记录员工 ID、旧工资、新工资和变更时间。
|
||||
|
Loading…
x
Reference in New Issue
Block a user