欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySql存儲(chǔ)過(guò)程之邏輯判斷和條件控制

 更新時(shí)間:2015年10月18日 10:55:49   投稿:mrr  
本篇文章給大家介紹了mysql存儲(chǔ)過(guò)程之邏輯判斷、條件控制,涉及到的知識(shí)點(diǎn)有邏輯判斷、條件控制方面的內(nèi)容,對(duì)mysql存儲(chǔ)過(guò)程邏輯判斷和條件控制感興趣的朋友可以參考下本文

具體詳情請(qǐng)看下文小編給大家?guī)?lái)的知識(shí)點(diǎn)。

同編寫(xiě)程序類(lèi)似,存儲(chǔ)過(guò)程中也有對(duì)應(yīng)的條件判斷,功能類(lèi)似于if、switch。在MySql里面對(duì)應(yīng)的是IF和CASE

1、IF判斷

IF判斷的格式是這樣的:

IF expression THEN commands 
  [ELSEIF expression THEN commands] 
  [ELSE commands] 
  END IF; 

這里expression是我們的判斷表達(dá)式;ELSE IF 和ELSE都是可選的;command就是當(dāng)條件為真(true為1,false為0)時(shí)執(zhí)行的命令。比如我們?cè)O(shè)計(jì)一個(gè)存儲(chǔ)過(guò)程用于返回商品的價(jià)格,這里價(jià)格通過(guò)傳入的參數(shù)來(lái)判斷是要帶稅收的價(jià)格還是沒(méi)有帶稅收的價(jià)格。先看看表的數(shù)據(jù):

然后下面是我們的存儲(chǔ)過(guò)程:

存儲(chǔ)過(guò)程的話有兩個(gè)輸入?yún)?shù),第一個(gè)isTaxed表示是不是要帶稅價(jià)格,第二個(gè)是產(chǎn)品的名稱;在存儲(chǔ)過(guò)程里面定義了兩個(gè)變量,finalPrice用來(lái)保存價(jià)格,而taxRate表示稅率。這里代碼比較簡(jiǎn)單,就是判斷下如果是要加稅,就把原來(lái)的價(jià)格乘上稅率。下面是測(cè)試結(jié)果:

true的情況表示是帶稅的價(jià)格。好了這個(gè)是使用IF的一個(gè)例子,下面看看CASE;

2、CASE的使用

同編程里面的那個(gè)switch ....case.....類(lèi)似,使用CASE同編程一樣也是當(dāng)判斷比較多時(shí)便于閱讀和維護(hù),我們也來(lái)看下CASE的語(yǔ)法:

CASE case_expression 
  WHEN when_expression THEN commands 
  WHEN when_expression THEN commands 
  ... 
  ELSE commands 
END CASE; 

  a、這里可以看到CASE好比我們編程里面的那個(gè)switch,后面的case_expression就好比switch后面跟著的表達(dá)式;

  b、然后WHEN則類(lèi)似編程里面的case,when_expression類(lèi)似case后面跟著的值,commands則對(duì)應(yīng)于相應(yīng)的case下執(zhí)行的命令;

 c、最后一個(gè) ELSE 則類(lèi)似于default,就是如果都沒(méi)在上面那些WHEN里面的情況時(shí)執(zhí)行的命令。


下面我們假設(shè)不同類(lèi)型的商品對(duì)應(yīng)的稅收稅率是不一樣的情況來(lái)看個(gè)例子,這里假設(shè)甜點(diǎn)的稅率是0.05,奶制品的是0.1,家具類(lèi)的是0.2:,下面是存儲(chǔ)過(guò)程:

上面增加了一個(gè)保存產(chǎn)品類(lèi)型的一個(gè)變量proType,用來(lái)保存商品類(lèi)型。然后使用CASE來(lái)進(jìn)行判斷來(lái)設(shè)置稅率,下面是測(cè)試的部分:

可以看到沙發(fā)的價(jià)格是1250*1.2=1500,而蛋糕的價(jià)格是10*1.05 = 10.5


相關(guān)文章

  • Window下Mysql忘記root密碼怎么重置

    Window下Mysql忘記root密碼怎么重置

    這篇文章主要介紹了Window下Mysql忘記root密碼的重置方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-02-02
  • mysql嚴(yán)格模式Strict?Mode詳細(xì)說(shuō)明

    mysql嚴(yán)格模式Strict?Mode詳細(xì)說(shuō)明

    使用mysql嚴(yán)格模式可以使數(shù)據(jù)更加安全嚴(yán)格,缺點(diǎn)是減少了對(duì)空數(shù)據(jù)入庫(kù)的兼容性,下面這篇文章主要給大家介紹了關(guān)于mysql嚴(yán)格模式Strict?Mode詳細(xì)說(shuō)明的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • MySQL導(dǎo)入sql腳本錯(cuò)誤:2006 解決方法

    MySQL導(dǎo)入sql腳本錯(cuò)誤:2006 解決方法

    本文給大家分享的是在使用mysql導(dǎo)入數(shù)據(jù)的時(shí)候,提示腳本錯(cuò)誤2006 MySQL server has gone away的解決方法,非常實(shí)用,有需要的小伙伴,可以參考下。
    2015-07-07
  • mysql中索引與FROM_UNIXTIME的問(wèn)題

    mysql中索引與FROM_UNIXTIME的問(wèn)題

    這篇文章主要介紹了mysql中索引與FROM_UNIXTIME的問(wèn)題的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • CentOS 7中源碼安裝MySQL 5.7.6+詳細(xì)教程

    CentOS 7中源碼安裝MySQL 5.7.6+詳細(xì)教程

    最近在CentOS 7中源碼安裝MySQL 5.7.6+,發(fā)現(xiàn)MySQL5.7.6+以后的安裝方式真的與以前版本的MySQL安裝方式大大的不同呀。不自己安裝一把,你都不知道不同之處在哪,下面這篇文章是通過(guò)自己的安裝過(guò)程總結(jié)的一篇安裝教程,有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。
    2016-12-12
  • mysql如何在線修改主從復(fù)制選項(xiàng)

    mysql如何在線修改主從復(fù)制選項(xiàng)

    這篇文章主要介紹了mysql如何在線修改主從復(fù)制選項(xiàng),幫助大家更好的理解和學(xué)習(xí)mysql,感興趣的朋友可以了解下
    2020-08-08
  • 阿里云配置MySQL-server?8.0遠(yuǎn)程登錄的實(shí)現(xiàn)

    阿里云配置MySQL-server?8.0遠(yuǎn)程登錄的實(shí)現(xiàn)

    我們經(jīng)常會(huì)碰到需要遠(yuǎn)程訪問(wèn)數(shù)據(jù)庫(kù)的場(chǎng)景,本文主要介紹了阿里云配置MySQL-server?8.0遠(yuǎn)程登錄的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • ubuntu系統(tǒng)中安裝mysql5.6(通過(guò)二進(jìn)制)

    ubuntu系統(tǒng)中安裝mysql5.6(通過(guò)二進(jìn)制)

    今天工作中需要對(duì)一臺(tái)ubantu的系統(tǒng)安裝mysql,因?yàn)橐郧耙恢笔褂玫氖莄entos,雖然它也是類(lèi)unix但是和redhat或centos命令上還是有點(diǎn)差別。所以通過(guò)網(wǎng)上查閱資料,終于安裝成功了,現(xiàn)在將步驟分享給大家,有需要的朋友們可以參考借鑒。
    2016-10-10
  • redhat7通過(guò)yum安裝mysql5.7.17教程

    redhat7通過(guò)yum安裝mysql5.7.17教程

    這篇文章主要為大家詳細(xì)介紹了redhat7通過(guò)yum安裝mysql5.7.17教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • MySQL表類(lèi)型 存儲(chǔ)引擎 的選擇

    MySQL表類(lèi)型 存儲(chǔ)引擎 的選擇

    這篇文章主要介紹了MySQL表類(lèi)型存儲(chǔ)引擎的選擇,文章圍繞MySQL表類(lèi)型存儲(chǔ)引擎的選擇的相關(guān)資料展開(kāi)內(nèi)容,需要的朋友可以參考一下,希望對(duì)你有所幫助
    2021-11-11

最新評(píng)論