最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySql存儲過程之邏輯判斷和條件控制

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

具體詳情請看下文小編給大家?guī)淼闹R點(diǎn)。

同編寫程序類似,存儲過程中也有對應(yīng)的條件判斷,功能類似于if、switch。在MySql里面對應(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)時執(zhí)行的命令。比如我們設(shè)計一個存儲過程用于返回商品的價格,這里價格通過傳入的參數(shù)來判斷是要帶稅收的價格還是沒有帶稅收的價格。先看看表的數(shù)據(jù):

然后下面是我們的存儲過程:

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

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

2、CASE的使用

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

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

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

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

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


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

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

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


相關(guān)文章

  • mysql 5.7.27 安裝配置方法圖文教程

    mysql 5.7.27 安裝配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了mysql 5.7.27 安裝配置方法圖文教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • Mysql 5.7.17 winx64免安裝版,win10環(huán)境下安裝配置圖文教程

    Mysql 5.7.17 winx64免安裝版,win10環(huán)境下安裝配置圖文教程

    這篇文章主要介紹了Mysql 5.7.17 winx64免安裝版,win10環(huán)境下安裝配置圖文教程,需要的朋友可以參考下
    2017-01-01
  • MySQL?varchar(n)能存儲幾個漢字

    MySQL?varchar(n)能存儲幾個漢字

    這篇文章主要介紹了MySQL varchar(n)能存儲幾個漢字,MySQL中varchar(n)表示n個字符,無論漢字和英文,Mysql都能存入n個字符,僅是實際字節(jié)長度有所區(qū)別,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • mysql5.7.21安裝配置教程

    mysql5.7.21安裝配置教程

    這篇文章主要為大家詳細(xì)介紹了mysql5.7.21安裝配置教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Mysql5.7在Centos6中的安裝方法

    Mysql5.7在Centos6中的安裝方法

    這篇文章主要介紹了Mysql5.7在Centos6中的安裝方法,需要的朋友可以參考下
    2017-06-06
  • mysql中not?in隱含陷阱詳解

    mysql中not?in隱含陷阱詳解

    NOT?IN?的作用和?IN?恰好相反,NOT?IN?用來判斷表達(dá)式的值是否不存在于給出的列表中;如果不是,返回值為?1,否則返回值為?0,下面這篇文章主要給大家介紹了關(guān)于mysql中not?in隱含陷阱的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • MySQL 使用自定義變量進(jìn)行查詢優(yōu)化

    MySQL 使用自定義變量進(jìn)行查詢優(yōu)化

    MySQL自定義變量估計很少人有用到,但是如果用好了也是可以輔助進(jìn)行性能優(yōu)化的。需要注意的是變量是基于連接會話的,而且可能存在一些意外的情況,需要小心使用。本篇介紹如何利用自定義變量進(jìn)行查詢優(yōu)化,提高效率
    2021-05-05
  • MySQL命令無法輸入中文問題的解決方式

    MySQL命令無法輸入中文問題的解決方式

    這篇文章主要給大家介紹了關(guān)于MySQL命令無法輸入中文問題的解決方式,文中給出了詳細(xì)的解決方案,對遇到這個問題的同學(xué)有很大的幫助,需要的朋友可以參考下
    2021-08-08
  • 與MSSQL對比學(xué)習(xí)MYSQL的心得(四)--BLOB數(shù)據(jù)類型

    與MSSQL對比學(xué)習(xí)MYSQL的心得(四)--BLOB數(shù)據(jù)類型

    在MYSQL中BLOB是一個二進(jìn)制大對象,用來儲存可變數(shù)量的數(shù)據(jù),而MSSQL中并沒有BLOB數(shù)據(jù)類型,只有大型對象數(shù)據(jù)類型(LOB)
    2014-06-06
  • 生產(chǎn)庫自動化MySQL5.6安裝部署詳細(xì)教程

    生產(chǎn)庫自動化MySQL5.6安裝部署詳細(xì)教程

    自動化運(yùn)維是一個DBA應(yīng)該掌握的技術(shù),其中,自動化安裝數(shù)據(jù)庫是一項基本的技能,這篇文章主要介紹了生產(chǎn)庫自動化MySQL5.6安裝部署詳細(xì)教程,需要的朋友可以參考下
    2016-09-09

最新評論

宜兴市| 吉林市| 乌兰浩特市| 拉萨市| 五大连池市| 周口市| 平泉县| 绥江县| 霍邱县| 汝城县| 宣化县| 永德县| 鸡东县| 平潭县| 勐海县| 东兰县| 聊城市| 渑池县| 阿克| 阿尔山市| 郧西县| 郧西县| 奉化市| 静安区| SHOW| 万宁市| 昌平区| 夏河县| 万全县| 彩票| 桃园县| 新郑市| 拉萨市| 呼和浩特市| 肥西县| 宜宾市| 南溪县| 阿合奇县| 新源县| 武安市| 鄂托克旗|