记录loop循环的<循环体位置>不同的不同结果

常用:

drop function total_even; --删除函数
show create function total_even; --展示函数

题目要求:

(6)创建函数,用两种不同的循环语句求50到指定整数中所有偶数的和。并调用函数观察执行结果。

我们先从求<50-n>所有数的和开始算!然后就发现了下面的问题

结论:情形2是正确的,但是不明所以,特存于此处

情形1:

delimiter //
create function total_even(limit_number int)
returns int
no sql
begin
	declare j int default 50;
	declare sum int default 0;
	total:loop
		set j = j+1;
		set sum = sum + j;
		if j>limit_number then
			leave total;
		end if;
	end loop;
	return sum;
end; //
delimiter ;

select total_even(100) as total_even; --调用函数

这样子的运行结果是这样的:

情形2:

delimiter //
create function total_even(limit_number int)
returns int
no sql
begin
	declare j int default 50;
	declare sum int default 0;
	total:loop
	         if j > limit_number then
	                 leave total;
	          end if;
	  set sum = sum + j;
	  set j = j + 1;
	 end loop;
	 return sum;
end //
delimiter ;

select total_even(100) as total_even; --调用函数

运行结果是这样的:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值