MySQL触发器练习

创建职工表以及职工工资表
职工表字段:工号,姓名,性别,年龄
工资表字段:编号自增,职工工号,基础工资10000
通过触发器实现:
1.对职工进行添加时 工资表中也要体现当前职工的信息
2.对职工进行修改时 工资表中也要一并修改当前职工的信息
3.对职工进行解聘时 工资表中也要一并删除当前员工的工资信息

建表

CREATE TABLE `worker` (     

`工号` INT(11)  AUTO_INCREMENT PRIMARY KEY,     

`姓名` VARCHAR(20) ,     

`性别` VARCHAR(4),     

`年龄` INT(4)    

 );





CREATE TABLE `wages`(

`编号` INT(11)  AUTO_INCREMENT PRIMARY KEY ,

`工号` VARCHAR(20) ,

`工资`   DECIMAL(10,2)  

);

触发器使用Navicat Premium 15工具建立

CREATE TRIGGER worker_insert_trigger  
AFTER INSERT ON worker  
FOR EACH ROW  
BEGIN   
    INSERT INTO wages VALUES (NULL, new.`工号`, NULL);  
END;

检验

INSERT INTO worker VALUES (1,"张三","男",18);

CREATE TRIGGER worker_update_trigger  
AFTER UPDATE ON worker  
FOR EACH ROW  
BEGIN   
    UPDATE  wages SET `工号` = new.`工号` WHERE `工号` = old.`工号`;  
END;

检验

UPDATE worker SET `工号` = 2 WHERE `工号` = 1;

CREATE TRIGGER worker_delete_trigger  
AFTER DELETE ON worker  
FOR EACH ROW  
BEGIN   
    DELETE FROM wages  WHERE `工号` = old.`工号`;  
END;

检验

DELETE  FROM worker WHERE `工号` =2;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值