¶前言
有多少次挥汗如雨,伤痛曾添满记忆,只因为始终相信,去拼搏才能胜利。总在鼓舞自己,要成功就得努力。热血在赛场沸腾,巨人在赛场升起。
相信自己,你将赢得胜利,创造奇迹;相信自己,梦想在你手中,这是你的天地。当一切过去,你们将是第一。
相信自己,你们将超越极限,超越自己!
相信自己,加油吧,健儿们,相信你自己。
坐在中体对面, 听着这振奋激昂的加油欢呼声, 照样可以感受到校运会的气势磅礴, 虽然我还在敲代码…
来个这个吧, 特殊纪念, 沃夫慈悲:
¶说明
老生常谈! 接着之前的SQL语句继续整理, 内容参考了互联网上的很多内容, 结尾缀上出处, 感谢分享.
这一部分主要内容为:mysql数据库存储过程相关的SQL语句, 在书写上的格式、规范及环境配置等,详见:数据库题目整理及详解(一),说明部分 .
¶题目详情
设某学生信息系统数据库包含如下关系:
1 | STUDENT(ID, NAME, CLASSNO, BIRTH) |
请根据所学存储过程相关知识完成如下如下表示的功能:
(1) 创建数据库及 student 表,并至少插入 3 条数据;
(2) 创建并调用名为 sp 的存储过程,查询学生的所有信息;
(3) 创建并调用名为 sp1 的存储过程,向表中插入一条学生信息;
(4) 创建并调用名为 sp2 的存储过程,查询学生表中的最大班级号;
(5) 创建并调用名为 sp3 的存储过程,修改学生学号,如果学号为 1,修改为
10; 否则,修改学号为 20,并查看信息表中的最大学号值;
(6) 创建并调用名为 sp4 的存储过程,使得学生的班级号既做输入参数又做输出参数;
(7) 创建并调用名为 sp5 的存储过程,根据输入的班级号,判断班级名称;
(8) 创建并调用名为 sp6的存储过程,根据输入的班级号,更新班级名称;
¶题目解答
(1) 创建数据库及 student 表, 并至少插入 3 条数据;
1 | create database procedure_test; ## 创建数据库 |
(2) 创建并调用名为 sp 的存储过程,查询学生的所有信息;
1 | drop procedure if exists sp; ## 好习惯 |
(3)创建并调用名为 sp1 的存储过程,向表中插入一条学生信息;
1 | delimiter // ## 自制分隔符,防止“;”带来的意外 |
(4) 创建并调用名为 sp2 的存储过程,查询学生表中的最大班级号;
1 | create procedure sp2(out p int) |
(5) 创建并调用名为 sp3 的存储过程,修改学生学号,如果学号为 1,修改为
10;否则,修改学号为 20,并查看信息表中的最大学号值;
1 | create procedure sp3(in p1 int, out p2 int) |
(6) 创建并调用名为 sp4 的存储过程,使得学生的班级号既做输入参数又做输
出参数;
1 | drop procedure if exists sp4// |
(7) 创建并调用名为 sp5 的存储过程,根据输入的班级号,判断班级名称;
1 | drop procedure if exists sp5// |
(8) 创建并调用名为 sp5 的存储过程,根据输入的班级号,更新班级名称;
1 | ## 错误总是无独有偶, 显然!这步是弥补上步未完成的任务 |
¶参考资料
[1]. http://www.cnblogs.com/zhuawang/p/4185302.html
[2]. http://blog.csdn.net/woshixuye/article/details/8348180
[3]. http://www.2cto.com/database/201408/327315.html