mysql while,loop,repeat迴圈,符合條件跳出迴圈
1、while迴圈
DELIMITER $$ DROP PROCEDURE IF EXISTS `sp_test_while`$$ CREATE PROCEDURE `sp_test_while`( IN p_number INT, #要迴圈的次數 IN p_startid INT #迴圈的其實值 ) BEGIN DECLARE v_val INT DEFAULT 0; SET v_val=p_startid; outer_label: BEGIN #設定一個標記 WHILE v_val<=p_number DO SET v_val=v_val+1;IF(v_val=100)THEN LEAVE outer_label; #滿足條件,終止迴圈,跳轉到end outer_label標記 END IF; END WHILE; SELECT ‘我是while外,outer_label內的SQL‘; #由於這句SQL在outer_label程式碼塊內,所以level後,這句SQL將不會執行; #只要是在outer_label程式碼塊內 任意位置 Leave outer_label,那麼Leave後的程式碼將不再執行 END outer_label; SELECT CONCAT(‘test‘,v_val) AS tname;END$$ DELIMITER ; CALL sp_test_while(1000,0);
2、loop 迴圈
DELIMITER $$ DROP PROCEDURE IF EXISTS `sp_testloop`$$ CREATE PROCEDURE `sp_testloop`( IN p_number INT, #要迴圈的次數 IN p_startid INT #迴圈的其實值 ) BEGIN DECLARE v_val INT DEFAULT 0; SET v_val=p_startid; loop_label: LOOP #迴圈開始SET v_val=v_val+1; IF(v_val>p_number)THEN LEAVE loop_label; #終止迴圈 END IF; END LOOP; SELECT CONCAT(‘testloop_‘,v_val) AS tname; END$$ delimiter ; CALL sp_testloop(1000,0);
3、repeat迴圈
DELIMITER $$ DROP PROCEDURE IF EXISTS `sp_test_repeat`$$ CREATE PROCEDURE `sp_test_repeat`( IN p_number INT, #要迴圈的次數 IN p_startid INT #迴圈的其實值 ) BEGIN DECLARE v_val INT DEFAULT 0; SET v_val=p_startid; REPEAT #repeat迴圈開始 SET v_val=v_val+1; until v_val>p_number #終止迴圈的條件,注意這裡不能使用‘;‘分號,否則報錯 END repeat; #迴圈結束 SELECT CONCAT(‘test‘,v_val) AS tname; END$$ DELIMITER ; CALL sp_test_repeat(1000,0);
example:求冪函式
drop function if exists math_int;
delimiter //
create function math_int(a int ,b int)
returns double
BEGIN
declare ret int;
set ret := 1;
-- 第一種 while迴圈
-- while b > 0
-- do
-- select ret*a into ret from dual;
-- set b = b - 1 ;
-- END WHILE;
-- 第二種 repeat迴圈
-- repeat
-- select ret * a into ret from dual;
-- set b = b - 1 ;
-- until b = 0
-- end repeat;
-- 第三種 loop迴圈
loop_label: LOOP #迴圈開始 迴圈名稱
select ret * a into ret from dual;
set b = b - 1 ;
IF b = 0 THEN
LEAVE loop_label; #終止迴圈 也就意味著可以跳出指定迴圈
END IF;
END LOOP;
return ret;
end;
//
delimiter ;
select math_int(10,2);
相關推薦
mysql while,loop,repeat迴圈,符合條件跳出迴圈
1、while迴圈 DELIMITER $$ DROP PROCEDURE IF EXISTS `sp_test_while`$$ CREATE PROCEDURE `sp_test_while`( IN p_number INT, #要迴圈的次數 IN p_startid INT #迴圈的其實值
while(i--);這句話是什麼意思,什麼時候跳出迴圈?
while(i--);這句話是什麼意思,什麼時候跳出迴圈? 一、先對i的值進行判斷 如果i的值0就退出 二、計算:i=i-1 再重複操作! i--表示先使用i,再讓i=i-1。 假設初始i=3。第一次while()裡的是3,while(3)=>此時i=2(i--的緣故);C裡非0都是
shell的基本語句(for迴圈,while迴圈,巢狀迴圈,if 的多重迴圈,case語句)
1.for迴圈(遍歷) for 條件 do 動作 done 練習1:檢測當前172.25.254網段主機的狀態 [[email protected] mnt]# vim test.sh 1 #!/bin/bash 2 for ((IP=1;IP<=10
python 字典a中是條件,字典b中是被審查物件,符合條件才取物件中的值 demon
chktype為限定的型別 lvbuff為buff及相關的條件 只有達成條件才讓取buff 程式碼 #coding:utf8 chktype = {'type':'rock','lan':'en'} lvbuff = {'buff':{'a':1}, 'type':'rock',
Java 列出資料夾下所有檔案,符合條件的檔案複製到指定目錄
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; public class TestFile { public static void main(String[] a
MySQL--儲存過程的迴圈語句程式碼筆記--while、repeat和loop
mysql> delimiter $$ mysql> create table testB -> ( -> id int(6) not null -> ) $$ Query OK, 0 rows affected (0.86 sec) mysq
MySQL儲存過程之while、repeat迴圈
一、while迴圈 CREATE DEFINER=`root`@`localhost` PROCEDURE `PRO_WHILE`() BEGIN DECLARE i INT DEFAULT 0; WHILE (i<10) DO /*當滿足條件的時候執行此程式碼塊*/ BE
Python(五)語法(if,elif,else 條件判斷 for in,while 迴圈)
判斷 計算機之所以能做很多自動化的任務,因為它可以自己做條件判斷。 如下例子 # -*- coding: utf-8 -*- age =input('請輸入年齡:') if age==18: print('年齡',age) elif age>18: print('超齡') el
如何從mysql資料庫中查詢指定欄位且符合條件的資料 ,然後拼接成json字串,最後匯出json檔案
SELECT CONCAT("{'name':'",IFNULL(Name,''),"',","'sex':'",IFNULL(Sex,''),"',","'age':'",IFNULL(Age,''),"',", "'phone':'",IFNULL(Phon
Python程式語言下的條件判斷以及for迴圈,while迴圈
if 語句: 作用:讓程式根據條件選擇性的執行某條語句或某些語句 說明:if語句又叫條件語句,也叫分支語句 語法:if 真值表達式1; 語句塊1 elif 真值表達式2: 語句塊2 e
php中mysql一條sql語句查詢出所有符合條件的資料,該怎麼寫?
假如一個表裡有個classid欄位是類別的id,我想用一條sql語句查出classid=5的所有資料的id該怎麼查呢?正常是要迴圈,放到數組裡的吧 如圖,我想查詢classid=2的對應所有id,用
C# ArcgisEngine開發中,對一個圖層進行過濾,只顯示符合條件的要素
layer style where sky 要求 我們 ase get filter 轉自原文 C# ArcgisEngine開發中,對一個圖層進行過濾,只顯示符合條件的要素 有時候,我們要對圖層上的地物進行有選擇性的顯示,以此來滿足實際的功能要求。 按下面介紹的
批量屏蔽符合條件的IP地址,支持添加白名單,IP段,增量,大於指定次數的IP
{0} pytho 防火墻 bsp key val 日誌 並且 log 批量屏蔽符合條件的IP地址,支持添加白名單,IP段,增量 大概的思路是利用sh,從日誌中提取出來對應的IP地址,然後再交由python進行對比,判斷,最終將需要添加至iptables列表中的IP寫入
查詢不符合條件的資料 mysql
SELECT * FROM yh WHERE xl<>'255' AND xl<>'0' AND lpower<>'255' 一般查詢都是where 某欄位='條件';但是這次是查詢不符合條件的資料; <>表示不等於 例子如下: 1.根
c++ 查詢容器中符合條件的元素,並返回iterator(find_if)
#include <iostream> // std::cout #include <algorithm> // std::find_if #include <vector> // std::vector using name
大資料之scala(一) --- 安裝scala,簡單語法介紹,條件表示式,輸入和輸出,迴圈,函式,過程,lazy ,異常,陣列
一、安裝和執行Scala解釋程式 --------------------------------------------- 1.下載scala-2.11.7.msi 2.管理員執行--安裝 3.進入scala/bin,找到scala.bat,管理員執行,進入scala命
Day2 while 迴圈,格式化輸出,運算子,字串編碼
while 迴圈 語法結構: 語法1:: while 條件: 迴圈體 解析:判斷條件是否成立,如果條件為真,則執行迴圈體的內容,完成後,再次進行條件的判斷,重複上面的內容,知道條件不成立 語法2 : while 條件: 迴圈體 else: 程式碼塊 解析:當while 的條
Qt qtablewidget 實現篩選功能,顯示符合條件的整行資訊
問題: 1、有輸入的時候顯示符合條件的整行資訊 2、沒有輸入的時候顯示所有資訊 過程: 查詢到官方提供了QTableWidget類的 &n
2、Python自學第二天(if判斷,for迴圈,while迴圈)
1 """================ if判斷 begin ====================== 2 3 # 輸入一個年齡,判斷是成年人還是小孩 4 age = input('請輸入年齡') 5 if int(age)>=18: 6 print('成年人')
程序,執行緒,Event Loop(事件迴圈),Web Worker
執行緒,是程式執行流的最小單位。執行緒可與同屬一個程序的其他執行緒共享所擁有的全部資源,同一程序中的多個執行緒之間可以併發執行。執行緒有就緒,阻塞,執行三種基本狀態。 阮一峰大神針對程序和執行緒的類比,很是形象:計算機的核心CPU,是個工廠,時刻運轉著,工廠裡有很多個車間(程序),一個車間開工其他車間不能開