中易网

MYSQL用存储过程求1到100累加

答案:1  悬赏:0  
解决时间 2021-01-16 16:01
  • 提问者网友:鐵馬踏冰河
  • 2021-01-15 18:46
MYSQL用存储过程求1到100累加
最佳答案
  • 二级知识专家网友:毛毛
  • 2021-01-15 19:16
mysql> delimiter |
mysql> create procedure p1(OUT vout int
-> begin
-> declare v1 int default 1;
-> declare v2 int default 0;
-> while v1<=100 DO
-> set v2=v2+v1;
-> set v1=v1+1;
-> end while;
-> SET vout=v2;
-> end;
-> |
Query OK, 0 rows affected (0.00 sec)

mysql> call p1(@count);
-> |
Query OK, 0 rows affected (0.00 sec)

mysql> select @count|
+--------+
| @count |
+--------+
| 5050 |
+--------+
1 row in set (0.00 sec)

mysql> delimiter ;
mysql>________________________mysql> delimiter |
mysql> create procedure p2(OUT vout int )
-> begin
-> declare v1 int default 1;
-> declare v2 int default 0;
-> while v1<=100 DO
-> IF v1 MOD 2=0 THEN
-> set v2=v2+v1;
-> END IF ;
-> set v1=v1+1;
-> end while;
-> SET vout=v2;
-> end;
-> |
Query OK, 0 rows affected (0.00 sec)

mysql> call p2(@a);
-> |
Query OK, 0 rows affected (0.00 sec)

mysql> select @a|
+------+
| @a |
+------+
| 2550 |
+------+
1 row in set (0.00 sec)

mysql>
______________________________mysql> create procedure p3(OUT vout int )
-> begin
-> declare v1 int default 1;
-> declare v2 int default 0;
-> while v1<=100 DO
-> IF v1 MOD 2=1 THEN
-> set v2=v2+v1;
-> END IF ;
-> set v1=v1+1;
-> end while;
-> SET vout=v2;
-> end;
-> |
Query OK, 0 rows affected (0.00 sec)

mysql> call p3(@A)|
Query OK, 0 rows affected (0.00 sec)

mysql> select @A |
+------+
| @A |
+------+
| 2500 |
+------+
1 row in set (0.00 sec)

mysql>
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息