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

存储过程习题

#存储过程题目
#存储过程题目
Create table student6
(Id varchar(255), #学号
Name varchar(255), #姓名
Roomid varchar(255), #班级
Sex char(1), #性别
Degree varchar(3) );#成绩;
Insert into student6 values('1','amy','8','0','65');
Insert into student6 values('2','bob','4','1','80');
Insert into student6 values('3','candy','6','0','70');
Insert into student6 values('4','danny','8','1','90');
Insert into student6 values('5','edward','8','1','95');
Insert into student6 values('6','frank','7','1','100');
select *from student6
#1:创建一个存储过程,实现查询表student中的所有信息,并执行存储过程
select *from student6
delimiter//
drop PROCEDURE if EXISTS ss1;
create  PROCEDURE  ss1()
BEGIN
     select * from student6;
END
//
call ss1()
#2:创建一个存储过程,根据给定的学生学号显示学生的姓名
select *from student6
delimiter//
create  PROCEDURE  ss2( in x int(10))
BEGIN
     select * from student6 where Id=x;
END
//
call ss2(5)
#3:创建一个存储过程,根据所给的班级的编号,统计该班人数,并将人数以输出变量返回给用户
select *from student6
delimiter//
create  PROCEDURE  ss3(in x int(10),out y int(10))
BEGIN
     select count(*) into y from student6 where Roomid=x;
END
//
call ss3(x,@y)
select @y
-- 4:创建一个存储过程,根据所给的学号查询该学生的考试分数是否超过了85分,
-- 若超过则输出“ 考得好”, 否则输出 “考得不好”
delimiter //
DROP PROCEDURE IF EXISTS ss44;
CREATE PROCEDURE ss44(in x int(10),out y int(20))
BEGIN
SELECT Degree INTO y from student6 where Id=x;
if y> 85 THEN
  select "考得好";
else  
  select "考得不好";
end if;
END //
call ss44(7,@y)
select @y
或者
delimiter//
DROP PROCEDURE if EXISTS sss4;
CREATE PROCEDURE sss4(x int(10))
BEGIN
    DECLARE deg int DEFAULT(SELECT Degree FROM student6 WHERE Id=x);
    IF deg>85 THEN
        SELECT "考的好";
    ELSE 
        SELECT "考的不好";
    end if;
end//
call sss4(2);
#5:创建一个存储过程,对表student6增加两条记录
select *from student6
DROP PROCEDURE IF EXISTS ss5;
delimiter//
create  PROCEDURE  ss5()
BEGIN
     insert into student6 values('7','lulu','6','1','68');
     insert into student6 values('8','hufei','3','0','78');
END
//
call ss5()
或者
delimiter //
drop PROCEDURE if EXISTS s55;
create procedure s55()
BEGIN
DECLARE i INT DEFAULT (select  count(*) from student6);
INSERT INTO student6(Id) VALUES(i+1);
INSERT INTO student6(Id) VALUES(i+2);
SELECT * from student6;
END //
call s55()
#6:请撰写一个存储过程,输出各班学生的平均成绩
select *from student6
delimiter//
create  PROCEDURE  ss6()
BEGIN
     select avg(Degree) from student6 group by Roomid;
END
//
call ss6()
-- 7:请撰写一个存储过程,能根据用户输入的学号,
-- 输出学生的姓名、性别到两个参数变量中,以供其它程序使用
select *from student6
delimiter//
drop PROCEDURE if EXISTS ss7;
create  PROCEDURE  ss7(in x int(10),out y varchar(255),out z varchar(255))
BEGIN
     select Name,Sex into y,z from student6 where Id=x;
END
//
call ss7(2,@y,@z)
select @y,@z
-- 8:撰写一个存储过程,根据用户输入的学号,输出学生性别,成绩两个参数放到新表temp中
Create table temp(Sex varchar(255),Degree varchar(255))
delimiter//
create  PROCEDURE  ss8(in sid varchar(255))
BEGIN
     insert into temp(Sex,Degree) select Sex,Degree from student6 where Id=sid;
END
//
call ss8(7)
select *from temp
-- 9:请撰写一个存储过程,求1+2+3+…x的值
-- 请撰写一个存储过程,求0+2+4+…x的值
-- 请撰写一个存储过程,求1+3+5+…x的值
#(1)1+2+3+...+x
delimiter//
drop procedure if exists ss9;
create  PROCEDURE  ss9(in  x  int)
BEGIN 
declare  i int ;
set i=(x+1)*x/2;
SELECT i;
END
//
call ss9(10)
或者
delimiter//
drop procedure if exists sss9;
create procedure sss9(x int(10))
begin 
declare i int(10) default 1; #开始值
declare j int(10) default 0; #结果
while (i<=x) do 
set j=j+i; #相加
set i=i+1; #递增1
end while;
select j; #显示结果
end//
call sss9(10);
#(2)0+2+4+…x
delimiter//
drop procedure if exists s99;
create procedure s99(x int(10))
begin 
declare i int(10) default 0; #开始值
declare j int(10) default 0; #结果
while (i<=x) do 
set j=j+i; #相加
set i=i+2; #递增2
end while;
select j; #显示结果
end//
call s99(10);
#(3)1+3+5+…x
delimiter//
drop procedure if exists s999;
create procedure s999(x int(10))
begin 
declare i int(10) default 1; #开始值
declare j int(10) default 0; #结果
while (i<=x) do 
set j=j+i; #相加
set i=i+2; #递增2
end while;
select j; #显示结果
end//
call s999(10);

http://www.jsqmd.com/news/694240/

相关文章:

  • 10款论文降AI工具实测:SpeedAI清零AIGC率,语义保真度99%
  • PhotoPrism深度使用指南:从照片导入到智能整理,我的万张图片管理实战
  • 键盘重映射:如何用SharpKeys彻底驯服你的Windows键盘?
  • 怎么做才能做好数据基座?数据基座搭建避坑指南有哪些?
  • 亲测有效:大学生论文降AI工具优选指南
  • 安全与便利的平衡:在openEuler 20.03上为普通用户配置sudo替代su的完整指南
  • 别再只会拖拽了!Qt QHeaderView 这5个隐藏属性让你的表格/树形视图更专业
  • 项目接入 AI 指南-阿里百炼版
  • CCF-GESP C++三级考了啥?我用Python帮你把2023年9月的真题重写了一遍
  • ubuntu安装MySQL8.4 LTS
  • 对话的边界:HTTP 的克制,SSE 的流淌,WebSocket 的自由
  • Commit风水学:时辰决定系统稳定性
  • Prism弹窗对象_弹窗向主窗口返回值详解(工业级上位机专篇)
  • C语言(语句底层实现)
  • Mac 本地跑大模型完全指南:你的苹果电脑就是 AI 工作站
  • Word 自动保存失效、文档异常卡顿怎么办?一文解决 Cobra DocGuard 加载项干扰问题
  • 北京永利鑫达起重:承揽设备移位大件运输合规服务商盘点答疑 - 海棠依旧大
  • 人大金仓KingbaseES kdb_schedule插件:从零构建自动化计划任务
  • 2026年3月正规的出口退税咨询公司推荐,工商注册/外贸公司注册/公司注册,出口退税服务公司找哪家 - 品牌推荐师
  • 收藏!2026 年版大模型零基础入门指南,程序员小白快速学懂 AI 大模型
  • 学术合法性的本质之争:主流体系批判与贾子理论的价值重构
  • 别再死记硬背了!用Python可视化带你秒懂元素周期表电子排布规律
  • AzurLaneAutoScript完整指南:碧蓝航线终极自动化脚本快速上手
  • 别再乱选WiFi信道了!手把手教你用WiFi Analyzer优化2.4G/5G家庭网络(附避坑指南)
  • 【OSG学习笔记】Day 64: Scribe(刻线/轮廓高亮)
  • 何帆律师:只站被保险人一边 绝不帮保险公司打拒赔官司 - 测评者007
  • TVA检测技术在普通电子元器件领域的全维度解析(6)
  • 跨平台资源下载神器:3步搞定全网视频音频图片下载
  • 科技领袖的双面影响:创新与争议的边界
  • 408复试通关指南:从协议栈到内存管理的核心脉络