SQL触发器练习

创建职工表以及职工工资表

职工表字段:工号,姓名,性别,年龄

工资表字段:编号自增,职工工号,基础工资10000

通过触发器实现:

对职工进行添加时 工资表中也要体现当前职工的信息

对职工进行修改时 工资表中也要一并修改当前职工的信息

对职工进行解聘时 工资表中也要一并删除当前员工的工资信息

建立职工表 职工工资表
sql 复制代码
#职工表
CREATE TABLE worker (
	id INT AUTO_INCREMENT PRIMARY KEY NOT NULL,
	name VARCHAR(40) NOT NULL,
	sex VARCHAR(4) NOT NULL,
	age INT NOT NULL
);

#职工工资表
CREATE TABLE wage (
	id INT AUTO_INCREMENT PRIMARY KEY NOT NULL,
	name VARCHAR(20) NOT NULL,
	salary DOUBLE(10,2)
);
建立添加触发器
sql 复制代码
CREATE TRIGGER worker_insert_trigger
	AFTER INSERT ON worker
	FOR EACH ROW
	BEGIN
		INSERT INTO wage VALUES (NULL,new.name,10000);
	END;

建立修改触发器

sql 复制代码
CREATE TRIGGER worker_update_trigger
	AFTER UPDATE ON worker
	FOR EACH ROW
	BEGIN
		UPDATE wage SET name = new.name WHERE name = old.name;
	END;
建立删除触发器
sql 复制代码
CREATE TRIGGER worker_delete_trigger
	AFTER DELETE ON worker
	FOR EACH ROW
	BEGIN
		DELETE FROM wage WHERE name = old.name;
	END;
相关推荐
煎蛋学姐1 小时前
SSM基于J2EE的山西旅游网站的设计与实现iiqmx(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·数据库·java-ee·ssm 框架·山西旅游网站·在线预订系统
咸甜适中1 小时前
rust语言,将JSON中的所有值以字符串形式存储到sqlite数据库中(逐行注释)
数据库·rust·sqlite·json
树下水月1 小时前
python 连接hive2 数据库
开发语言·数据库·python
DARLING Zero two♡2 小时前
用Rust构建一个OCR命令行工具
数据库·rust·ocr
chxii2 小时前
MyBatis 动态 SQL,通过 XML (如 <if>、<foreach> 等)实现灵活的 SQL 拼接。
xml·sql·mybatis
蟹至之2 小时前
增删查改基础(其三)—— 聚合函数、分组查询(group by与having)、内置函数
数据库·mysql·增删查改
2501_941111242 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
Wang's Blog3 小时前
MySQL: 数据库索引深度解析:B树与哈希索引的结构、应用与优化策略
数据库·b树·mysql
2501_941112143 小时前
Python Web爬虫入门:使用Requests和BeautifulSoup
jvm·数据库·python
d***9354 小时前
Redis五种用途
数据库·redis·缓存