Auto commit
This commit is contained in:
parent
26b0159c32
commit
95aa201cf4
@ -214,6 +214,29 @@ WHERE e.emp_id = 1;
|
||||
|
||||
创建一个触发器 `before_employee_delete`,在删除 `employee` 表数据之前,将被删除的员工数据插入到一个备份表 `employee_backup` 中。
|
||||
|
||||
```sql
|
||||
CREATE TABLE employee_backup AS
|
||||
SELECT *
|
||||
FROM employee
|
||||
WHERE 0;
|
||||
|
||||
DELIMITER $$
|
||||
DROP TRIGGER IF EXISTS before_employee_delete;
|
||||
CREATE TRIGGER before_employee_delete
|
||||
BEFORE DELETE ON employee
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
INSERT INTO employee_backup()
|
||||
VALUES(OLD.emp_id, OLD.emp_name, OLD.salary, OLD.hire_date, OLD.dept_id, OLD.job_id);
|
||||
END $$
|
||||
DELIMITER ;
|
||||
|
||||
DELETE FROM employee
|
||||
WHERE emp_id = 20;
|
||||
```
|
||||
|
||||
|
||||
|
||||
#### 练习题 5: 自动设置默认职位
|
||||
|
||||
创建一个触发器 `before_employee_insert`,在插入 `employee` 表数据时,如果未指定 `job_id`,则自动将其设置为 `job` 表中的默认职位(假设默认职位的 `job_id` 为 1)。
|
||||
|
Loading…
x
Reference in New Issue
Block a user