From 727db1bb4a17728f2b6913bbfe7fc2799dc217c5 Mon Sep 17 00:00:00 2001 From: smallkun Date: Fri, 21 Mar 2025 09:35:23 +0800 Subject: [PATCH] Auto commit --- 2207/触发器练习题.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/2207/触发器练习题.md b/2207/触发器练习题.md index b173b97..7f08032 100644 --- a/2207/触发器练习题.md +++ b/2207/触发器练习题.md @@ -567,6 +567,19 @@ DELIMITER ; 创建一个触发器 `before_employee_insert`,在插入 `employee` 表数据时,自动生成一个唯一的员工编号(格式为 `EMP-年份-序号`,例如 `EMP-2023-001`),并将其存储到一个新字段 `emp_code` 中。 ```sql +ALTER TABLE employee ADD emp_code VARCHAR(30); + +DELIMITER $$ +DROP TRIGGER IF EXISTS before_employee_insert; +CREATE TRIGGER before_employee_insert +BEFORE INSERT ON employee +FOR EACH ROW +BEGIN + SET NEW.emp_code = CONCAT('EMP-',YEAR(NOW()),'-', (LAST_INSERT_ID()+1)); +END $$ +DELIMITER ; +INSERT INTO employee +VALUES(DEFAULT, '雷昊', 0, NOW(), 1, 1, NULL, NULL); ```