Mysql:存储过程练习

create table stu(

id int(3) primary key auto_increment,

name varchar(20) not null,

grade float,

gender char(2));

insert into stu(name,grade,gender) values('tom',60,'男'),('jack',70,'男'),('rose',90,'女'),('lucy',100,'女');

select * from stu;

#1.创建一个不带参数的存储过程p1并调用,功能:查询stu表中所有男生的信息。

drop procedure if exists p1;

delimiter //

create procedure p1()

begin

SELECT * FROM stu WHERE gender = '男';

end //

delimiter ;

call p1();

#2.创建一个带参数的存储过程p2并调用。功能:根据二个学生的学号从数据表中获取他们的grade数据并进行比较,并返回比较的结果(用二个输入参数,一个输出参数)。

drop procedure if exists p2;

delimiter //

create procedure p2(in id1 int(3),in id2 int(3),out num varchar(10))

begin

declare grade1 float;

declare grade2 float;

select grade into grade1 from stu where id=id1;

select grade into grade2 from stu where id=id2;

if grade1>grade2 then

set num='大于';

elseif grade1=grade2 then

set num='相等';

else

set num='小于';

end if;

end //

delimiter ;

call p2(1,2,@num);

select @num;

#3. 创建一个交换二个整数的存储过程p3并调用(用二个INOUT参数存放交换的二个数)。

drop procedure if exists p3;

delimiter //

create procedure p3(inout num1 int,inout num2 int)

begin

declare temp int;

set temp=num1;

set num1=num2;

set num2=temp;

end //

delimiter ;

set @num1=19;

set @num2=20;

call p3(@num1,@num2);

select @num1,@num2;

相关推荐
wno7042 小时前
postgresSQL压缩版安装与基本命令
数据库·postgresql
聚美智数4 小时前
智能结构化识别-图片结构解析-图像结构化解析-照片结构化解析
android·java·数据库
瀚高PG实验室4 小时前
瀚高数据库常用系统表查询入门指南(附常用SQL)
数据库·sql·postgresql·瀚高数据库
ben9518chen4 小时前
mysql数据库基本操作
数据库·mysql
2603_965148115 小时前
电商选品调研:通过关键词搜索API获取市场热销商品,结合商品详情API分析竞品卖点与定价
开发语言·数据库·人工智能·python·信息可视化
土豆.exe5 小时前
nf_tables 的 verdict 被读了两次:一个十年未闭合的位域错配
java·数据库·网络安全·缓存
缓慢更新5 小时前
表单引擎的存储建模:宽表与文档库的取舍
运维·服务器·网络·数据库·低代码·oracle·适配器模式
Web3&Basketball7 小时前
实测Gemini4Argon:ERQA 87%登顶长程任务榜
数据库·python·大模型·多模态·gemini·长上下文·推理优化
xiaogai_gai7 小时前
金蝶收料通知单查询策略实战教程:从源系统拉取到中间层落地的完整路径
java·前端·数据库
注塑机数据采集联网7 小时前
注塑机数据采集网关对接MES系统数字化技术方案
大数据·网络·数据库·物联网·数据挖掘·数据分析