数据库,创建触发器插入或删除时,自动修改职工的信息

 

您好,针对您的问题,我能给出以下回答:

首先,您需要在职工信息表中添加一些额外的字段,如下所示:

CREATE TABLE employee (
  employee_id INT PRIMARY KEY,
  name VARCHAR(50),
  department VARCHAR(50),
  salary DECIMAL(10,2),
  is_manager BOOLEAN,
  hire_date DATE,
  last_updated TIMESTAMP DEFAULT NOW()
);

上面的表中,我们添加了一个名为 last_updated 的字段,它的默认值为当前时间戳。用于记录最后一次职员信息更新的时间。

然后,您需要创建两个触发器,一个用于在插入新的职员信息时自动更新 last_updated 字段,另一个用于在删除职员信息时更新。

插入触发器代码如下:

CREATE TRIGGER employee_insert_trigger
AFTER INSERT ON employee
FOR EACH ROW
BEGIN
  UPDATE employee SET last_updated = NOW() WHERE employee_id = NEW.employee_id;
END;

删除触发器代码如下:

CREATE TRIGGER employee_delete_trigger
AFTER DELETE ON employee
FOR EACH ROW
BEGIN
  UPDATE employee SET last_updated = NOW() WHERE employee_id = OLD.employee_id;
END;

上述代码中,主要就是通过触发器,将最后更新时间字段 last_updated 的值更新为当前时间戳,以保证每次插入/删除操作都会触发更新操作使时间戳发生改变。

希望我的回答能够帮助到您。