From d7a1907bc84a17bb9ae22c1d41898276f28c3328 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=96=87=E9=94=8B?= <2069827762@qq.com> Date: Tue, 10 Oct 2023 23:11:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...52\347\216\257\344\275\234\344\270\232.md" | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 "07 \345\210\230\346\226\207\351\224\213/20231010\345\276\252\347\216\257\344\275\234\344\270\232.md" diff --git "a/07 \345\210\230\346\226\207\351\224\213/20231010\345\276\252\347\216\257\344\275\234\344\270\232.md" "b/07 \345\210\230\346\226\207\351\224\213/20231010\345\276\252\347\216\257\344\275\234\344\270\232.md" new file mode 100644 index 0000000..f44c7ea --- /dev/null +++ "b/07 \345\210\230\346\226\207\351\224\213/20231010\345\276\252\347\216\257\344\275\234\344\270\232.md" @@ -0,0 +1,85 @@ +-- 写一个存储过程,可以输入一个整数,输入小于或等于0时,提示非法输入,并中止这个存储过程, +-- 否则先判断这个数和是不是大于20,如果大于20就从1循环到这个数,并找出所有的偶数(但遇到逢10的数要跳过)。小于等于20就提示数太小了,并退出。 + +-- 要求,循环部分,要用三种语法分别做一遍 + +~~~mysql +-- 写一个存储过程,可以输入一个整数,输入小于或等于0时,提示非法输入,并中止这个存储过程, +-- 否则先判断这个数和是不是大于20,如果大于20就从1循环到这个数,并找出所有的偶数(但遇到逢10的数要跳过)。小于等于20就提示数太小了,并退出。 + +-- 要求,循环部分,要用三种语法分别做一遍 +#whlie +drop procedure xx; +delimiter // +CREATE procedure xx(in num int) +a:BEGIN +declare i int DEFAULt 1; + if num<=0 then + SELECT "非法输入"; + leave a; + elseif num > 20 then + b:while i<=num do + if i%2=1 or i%10=0 then set i = i+1; + iterate b ; + end if; + SELECT i; + set i = i+1; + end while b; + else SELECT "数太小了"; + leave a; +end if; +end // +delimiter ; +call xx (50) + +#loop +drop procedure zz; +delimiter // +CREATE procedure zz(in num int) +a:BEGIN +declare i int DEFAULt 1; + if num<=0 then + SELECT "非法输入"; + leave a; + elseif num > 20 then + b:loop + if i%2=1 or i%10=0 then set i = i+1; + iterate b ; + end if; + if i>num then leave b; + end if; + SELECT i; + set i = i+1; + end loop b; + else SELECT "数太小了"; + leave a; +end if; +end // +delimiter ; +call zz (50) +#repeat +drop procedure ff; +delimiter // +CREATE procedure ff(in num int) +a:BEGIN +declare i int DEFAULt 1; + if num<=0 then + SELECT "非法输入"; + leave a; + elseif num > 20 then + b:repeat + if i%2=1 or i%10=0 then set i = i+1; + iterate b ; + else SELECT i; + end if; + set i = i+1; + UNTIL i>num + end repeat b; + + else SELECT "数太小了"; + leave a; +end if; +end // +delimiter ; +call ff (100) +~~~ \ No newline at end of file -- Gitee