mysql中根据自身数据进行判断_在MySQL数据库中使用判断条件

存储过程if控制结构*/delimiter//create procedure marks_level

(

in stu_no int(4),in cla_no int(4),out _level varchar(4)

)

begindeclare _mark int(4) default 0;

select mark into _mark from marks where sid=stu_no and cid =cla_no;if _mark >= 90then

set _level= "A";elseif _mark>= 80then

set _level= "B";elseif _mark >= 70then

set _level= "C";elseif _mark >= 60then

set _level= "D";elseset _level= "E";end if;end;//set @result= "";//call marks_level(1,1,@result);//select @result;//

/*存储过程case控制结构*/delimiter//create procedure marks_level_case

(

in stu_no int(4),in cla_no int(4),out _level varchar(4)

)

begindeclare _mark int(4) default 0;

select mark into _mark from marks where sid=stu_no and cid =cla_no;casewhen _mark>= 90then

set _level= "A";

when _mark>= 80then

set _level= "B";

when _mark>= 70then

set _level= "C";

when _mark>= 60then

set _level= "D";elseset _level= "E";end case;end;//set @result = "";//call marks_level_case(1,1,@result);//select @result;//

/*存储过程while控制结构*/delimiter//create procedure sums_while

(

in n int(4),inout sums int(4)

)

beginwhile n>0 doset sums= sums +n;

set n= n-1;end while;end;//set @result=0;

call sums_while(10,@result);

select @result;

delimiter //create procedure sums_repeat

(

in n int(4),inout sums int(4)

)

begin

repeatif n>0then

set sums= sums +n;end if;

set n= n-1;

until n<0

endrepeat;end;//set @result=0;

call sums_repeat(10,@result);

select @result;

/*存储过程游标控制结构*/delimiter//create procedure pro_cursor()

begindeclare stu_no int(11) default 0;declare cla_mark int(11) default 0;declare tag int(11) default 0;declare moneys int(11) default 0;declare cur1 cursor forselect s.sid,m.mark from student s left join marks m on s.sid = m.sid;declare exit handler for sqlstate "02000" set tag =1;

open cur1;while !tag dofetch cur1 into stu_no,cla_mark;if cla_mark >= 90then

set moneys= 500;elseif cla_mark >=80then

set moneys= 400;elseif cla_mark >=70then

set moneys= 300;elseset moneys= 100;end if;

update student set moneys=moneys where sid=stu_no;end while;

close cur1;end;//

在MySQL数据库中使用判断条件

标签:cas   end   efault   exit   blog   money   out   handler   l数据库

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://www.cnblogs.com/shuo-128/p/6892146.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值