MYSQL作业篇2

 1. 写一个完整的包括参数、变量、变量赋值、条件判断、UPDATE语句、SELECT返回结果集的存储过程。

创建一个判断学生成绩等级的存储过程,并且将name为wang的同学改为zhen

首先创建一个学生name的表,并且插入一些数据

 create table stud_name(name varchar(20));

insert into stud_name values('wang'),('zhang'),('li');

delimiter //
create procedure per(in score int)
begin
declare compare int;
set compare := 60;
if score >= compare then
select '合格';
else
select '不合格';
end if;
update stud_name set name = 'zhen' where name = 'wang';
end //
delimiter ;    

 

 

 

2.创建一个执行动态SQL的存储过程。

写一个从1加到n的存储过程

create proceduer p1(in n int)

begin

        declare total int default 0;

while n>0 do

        set total := total + n;

        set n := n-1;

end while;

select total;

end;

 

 

3.创建实现功能相同的存储函数,比较他们之间的不同点在什么地方?

创建一个判断学生成绩等级的存储过程

delimiter //
create procedure per1(in score int)
begin
if score >= 60 then
select '合格';
else
select '不合格';
end if;
end //
delimiter ; 

创建一个判断学生成绩等级的存储函数

delimiter //
create function fun(score int)
returns varchar(20)
begin
declare per varchar(20);
if score < 60 then
set per = 'buheige';
else
set per = 'hege';
end if;
return per;
end //

delimiter ;

 

 

总结:函数和存储过程的关键字不同,一个为procedure,一个为function。函数只有输入参数没有输出参数,但是函数通过return返回参数值,存储过程既能设置输入参数也能设置输出参数,通过call关键字来调用 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值