mysql存储过程输出结果集
概述一直以来,觉得MySQL中使用\G参数改变输出结果集的显示方式非常好用,尤其是在命令行界面。但是ORACLE数据库没有这个功能,今天在搜索到Tom大师的一篇博文时,发现大师用一个存储过程print...
2024.11.15实验目的:进一步了解关于存储过程和触发器的定义及实现
实验名称:存储过程、触发器的定义以及验证
实验内容:完成以下关于存储过程和触发器的定义以及验证。
1.[例7.50] 输入某个同学的学号,统计该同学的平均分。
CREATE PROCEDURE proStudentByNo1(sNo char(7))BEGINSELECT a.studentNo, studentName, avg(score)FROM Student a, Score bWHERE a.studentNo=b.studentNoAND a.studentNo=sNoGROUP BY a.studentNo, studentName;END执行该存储过程:call proStudentByNo1(‘0800001‘);
2.输入某个同学的学号,统计该同学的平均分,并返回该同学的姓名和平均分。
CREATE PROCEDURE proStudentByNo21(@sNo char(7), @sNamevarchar(20) OUTPUT,@avg numeric(5, 1) OUTPUT )ASBEGIN select @sName=studentName FROM StudentWHERE studentNo=@sNo select @avg=avg(score) FROM ScoreWHERE studentNo=@sNo GROUP BY studentNoEND执行存储过程proStudentByNo2 1
declare @sNamevarchar(20), @avg numeric(5, 1)
EXECUTE proStudentByNo21 ‘0800001‘, @sName OUTPUT, @avg OUTPUT
select @sName, @avg
把以上SQLServer版本的存储过程改为MYSQL版本并运行
3. 创建触发器,当输入某个同学选课成绩时,如果他是少数民族人,其成绩自动加5分。
CREATE TRIGGER ScoreIns BEFORE INSERTON Score FOR EACH ROWBEGINUPDATE Student SET NEW.score=NEW.score+5WHERE Student.studentNo=NEW.studentNoand Student.nation‘汉族‘;END实验步骤:
首先连接名为scoredbd的数据库,然后新建查询,输入SQL语句,运行。
1. 输入学号为0800001,统计该同学的平均分。SQL语句及运行结果如下:
执行存储过程:
2、输入学号为0800001,统计该同学的平均分,并返回该同学的姓名和平均分。
3. 创建触发器,当输入某个同学选课成绩时,如果他是少数民族人,其成绩自动加5分。
(1)往Score表插入一条记录,要求studentNo值所对应学生在Student表的民族为’汉族’,查看Score表中刚才插入的记录的score值是否有变化。
(2)再往Score表插入一条记录,要求studentNo值所对应学生在Student表的民族为’蒙古族’,查看Score表中刚才插入的记录的score值是否有变化。
概述一直以来,觉得MySQL中使用\G参数改变输出结果集的显示方式非常好用,尤其是在命令行界面。但是ORACLE数据库没有这个功能,今天在搜索到Tom大师的一篇博文时,发现大师用一个存储过程print...
2024.11.15目录二:MySQL存储过程变量及赋值三:MySQL存储过程的创建2. 使用navicat创建一个存储过程3. 存储过程中的参数:IN OUT INOUT四:MySQL存储过程的管理1. MySQL存储...
2024.11.15hello小伙伴们!今天我们来聊聊mysql存储过程之创建和调用。直接看着实例来慢慢熟悉,然后,咱们来创建一个名为GetAllProducts()的简单存储过程哈,这个GetAllProducts()...
2024.11.15原文地址:https://dwz.cn/6Ysx1KXs作者:best.lei存储过程和函数简单的说,存储过程就是一条或者多条SQL语句的集合。可以视为批文件,但是其作用不仅仅局限于批处理。本文主要介...
2024.11.15前言 日常开发中,可能会用到数据库的自定义函数/存储过程,本文记录MySQL对自定义函数与存储过程的创建、使用、删除的使用 通用语法 事实上,可以认为存储过程就是没有返回值的函数,创建/使用...
2024.11.12