Mysql之流程控制結構

  • 順序結構:程序從上往下依次執行
  • 分支結構:程序從兩條或多條路徑中選擇一條去執行
  • 循環結構:程序在知足必定條件的基礎上,重複執行一段代碼

1、分支結構

一、if函數
功能:實現簡單的雙分支
語法:編程

if(表達式1, 表達式2, 表達式3)

執行順序:若是表達式1成立,則if函數返回表達式2的值,不然返回表達式3的值
應用:任何地方編程語言

二、case結構
狀況1:相似編程語言中的switch語句,通常用於實現等值判斷
語法:函數

case 變量|表達式|字段
when 要判斷的值 then 返回的值1
when 要判斷的值 then 返回的值2
...
else 返回的值n
end
或做爲單獨的語句 用在函數或存儲過程當中
case 變量|表達式|字段
when 要判斷的值 then 返回的語句1;
when 要判斷的值 then 返回的語句2;
...
else 返回的語句n;
end case;

狀況2:相似編程語言中的多重if語句,通常用於實現區間判斷
語法:oop

case 
when 要判斷條件1 then 返回的值1
when 要判斷條件2 then 返回的值2
...
else 返回的值n
end
或做爲單獨語句使用
case 
when 要判斷條件1 then 返回的語句1
when 要判斷條件2 then 返回的語句2
...
else 返回的語句n
end case;

特色:
能夠做爲表達式,嵌套在其餘語句中使用,能夠放在任何地方,begin end中或begin end的外面
能夠做爲獨立的語句去使用,只能放在begin end中code

若是when中的值知足或成立,則執行對應的then後面的語句,而且結束case
若是都不知足,則執行else中的語句或值it

else能夠省略,若是省略,而且全部when條件都不知足,則返回null基礎

三、if結構
功能:實現多重分支
語法:變量

if 條件1 then 語句1;
elseif 條件2 then 語句2;
...
[else 語句n];
end if;

只能應用在begin end中循環

2、循環結構

分類:
while、loop、repeat 用在begin end中
循環控制:
iterate相似於continue,繼續,結束本次循環,繼續下一次
leave相似於break,跳出,結束當前所在的循環語法

一、while
語法:

[標籤:]while 循環條件 DO
    循環體;
end while [標籤];

二、loop
語法:

[標籤:]LOOP
    循環體;
end loop [標籤];
可用來模擬簡單的死循環

三、repeat
語法:

[標籤:]repeat
    循環體;
until 結束循環的條件
end repeat [標籤];
相關文章
相關標籤/搜索