当前位置: 首页 > news >正文

MySQL【六】

存储过程

存储过程是一组为了完成特定功能的 SQL 语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。
简单的说存储过程就是具有名字的一段代码。

存储过程的创建

CREATE PROC[EDURE] 存储过程名( [参数列表[,…]]) BEGIN 过程体; END

存储过程的参数

IN:输入参数
OUT:输出参数
INOUT:输入输出参数

调用存储过程

call 存储过程名(参数列表);

存储过程的查询和删除

查询已经创建过的存储过程:
SHOW PROCEDURE STATUS WHERE db='数据库名';

查看存储过程的详细定义信息:
SHOW CREATE PROCEDURE 数据库.存储过程名;

删除存储过程:
DROP PROCEDURE [IF EXISTS] 数据库名.存储过程名;

########## 创建存储过程p_grade,实现通过输入的学号判断该生的成绩评价 ##########
DELIMITER //CREATE PROCEDURE p_grade(IN sno VARCHAR(10), OUT grade VARCHAR(10))
BEGIN-- 声明变量DECLARE avg_score DECIMAL(5, 2);-- 查询指定学号的所有成绩SELECT sum(score) INTO avg_scoreFROM scWHERE sno = sno;-- 判断成绩评价IF avg_score >= 180 THENSET grade = '优秀';ELSEIF avg_score <=179 and avg_score >=160 THENSET grade = '良好';ELSEIF avg_score >= 140 and avg_score<=159 THENSET grade = '中等';ELSEIF avg_score <=139 and avg_score >=120 THENSET grade = '及格';ELSESET grade='不及格';END IF;
END //DELIMITER ;CALL p_grade('s004',@grade);
SELECT @grade;

触发器

触发器是一种特殊类型的存储过程,可以用来对数据表实施复杂的完整性约束,实现表记录的自动维护,保持数据的一致性,当触发器所保护的数据发生改变时,触发器将会被自动激活,即触发器不能由应用程序显式地调用执行。

触发器的触发事件

**激活触发器的事件包括INSERT、UPDATE和DELETE事件。 **

触发器的触发时间

触发器的触发时间有两种:before与after。

触发器的优点
  1. 触发器是自动的
  2. 触发器可以级联修改数据库中所有相关的表,自动触发其它与之相关的操作;
  3. 触发器可以强制限制

创建触发器命令

CREATE TRIGGER 触发器名 触发时间 触发事件 ON 表名 FOR EACH ROW < 触发体 >

http://www.lryc.cn/news/487998.html

相关文章:

  • 杰发科技AC7801——ADC定时器触发的简单使用
  • VTK知识学习(8)-坐标系统
  • IO流部分串讲
  • Excel——宏教程(2)
  • unity 中 RectTransform 的常用几个属性
  • 项目-摄像
  • 摄像机ISP和DSP的区别?
  • Ubuntu24安装配置NDK
  • 【Next】中间件
  • Vulnhub靶场案例渗透[11]- Momentum2
  • STM32设计防丢防摔智能行李箱-分享
  • Vue Mixin混入机制
  • 数据库类型建表
  • iOS 18 导航栏插入动画会导致背景短暂变白的解决
  • 深度学习之人脸检测
  • 解决前后端发版本时候,手动清除浏览器缓存
  • mysql8.4+mysql router读写分离
  • 鸿蒙NEXT开发-用户通知服务的封装和文件下载通知
  • RHCE——系统的延迟任务及定时任务
  • ForEach刷新UI机制
  • 机器学习(贝叶斯算法,决策树)
  • 实验十三 生态安全评价
  • 二级等保要求及设备有哪些?
  • 无人机的动力系统节能——CKESC电调小课堂12
  • 人机打怪小游戏(非常人机)
  • SpringBoot 集成 Sharding-JDBC(一):数据分片
  • django-ninja 实现cors跨域请求
  • 【论文阅读】InstructPix2Pix: Learning to Follow Image Editing Instructions
  • 常用在汽车PKE无钥匙进入系统的高度集成SOC芯片:CSM2433
  • 【第四课】rust声明式宏理解与实战