创建职工表以及职工工资表
职工表字段:工号,姓名,性别,年龄
工资表字段:编号自增,职工工号,基础工资10000
通过触发器实现:
对职工进行添加时 工资表中也要体现当前职工的信息
对职工进行修改时 工资表中也要一并修改当前职工的信息
对职工进行解聘时 工资表中也要一并删除当前员工的工资信息
一、建库:
create database if not exists Company_db;
二、建立职工表,工资表
create table tab1(
id INT PRIMARY KEY AUTO_INCREMENT COMMENT'工号',
name varchar(20) COMMENT'姓名',
sex ENUM('m','f'),
age INT
)COMMENT = '职工表';
CREATE TABLE tab2(
id INT PRIMARY KEY AUTO_INCREMENT,
name varchar(20),
salary double(10,2)
)COMMENT = '工资表';
三、创建触发器
(1)触发器1,添加职工显示职工信息
create trigger tab1_insert_trigger
after insert
on tab1 for each row
begin
insert into tab2 values (NULL,new.name,10000);
end;
添加用户信息:
insert into tab1 values (1,'张三','f',20);
(2)触发器2,职工更改,工资表信息更新
CREATE TRIGGER tab1_update_trigger
AFTER UPDATE ON tab1
FOR EACH ROW
BEGIN
UPDATE tab2 SET name = new.name WHERE name = old.name;
END;
更改用户
UPDATE tab1 SET name = '李四' WHERE name = '张三';
>>>翻译:更新表 tab1 更新 name = '李四' 条件是找到 name = '张三';
>>>正常翻译:把tab1中的(name)名字为张三的更改为李四。
(3)触发器3,删除职工,工资表信息更新删除
CREATE TRIGGER tab1_delete_trigger
AFTER DELETE ON tab1
FOR EACH ROW
BEGIN
DELETE FROM tab2 WHERE name = old.name;
END;