亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > mysql存儲過程之case語句用法實(shí)例詳解

mysql存儲過程之case語句用法實(shí)例詳解

熱門標(biāo)簽:巫師三血與酒地圖標(biāo)注 萊西市地圖標(biāo)注 外呼系統(tǒng)電銷受騙 銷售語音電話機(jī)器人 安徽ai電話電銷機(jī)器人有效果嗎 400電話申請信用卡 走過哪個省地圖標(biāo)注 在哪里申請400電話 常州網(wǎng)絡(luò)外呼系統(tǒng)開發(fā)

本文實(shí)例講述了mysql存儲過程之case語句用法。分享給大家供大家參考,具體如下:

除了if語句,mysql提供了一個替代的條件語句CASE。 mysql的 CASE語句使代碼更加可讀和高效。廢話不多說,我們先來看下簡單case語句的語法:

CASE case_expression
  WHEN when_expression_1 THEN commands
  WHEN when_expression_2 THEN commands
  ...
  ELSE commands
END CASE;

我們可以使用簡單CASE語句來檢查表達(dá)式的值與一組唯一值的匹配,上述sql中,case_expression可以是任何有效的表達(dá)式。我們將case_expression的值與每個WHEN子句中的when_expression進(jìn)行比較,例如when_expression_1,when_expression_2等。如果case_expression和when_expression_n的值相等,則執(zhí)行相應(yīng)的WHEN分支中的命令(commands)。如果WHEN子句中的when_expression與case_expression的值匹配,則ELSE子句中的命令將被執(zhí)行。其中,ELSE子句是可選的,如果我們省略ELSE子句,并且找不到匹配項(xiàng),mysql將引發(fā)錯誤。我們來看個使用簡單的CASE語句的例子:

DELIMITER $$
CREATE PROCEDURE GetCustomerShipping(
 in p_customerNumber int(11), 
 out p_shiping    varchar(50))
BEGIN
  DECLARE customerCountry varchar(50);
  SELECT country INTO customerCountry
 FROM customers
 WHERE customerNumber = p_customerNumber;
  CASE customerCountry
 WHEN 'USA' THEN
  SET p_shiping = '2-day Shipping';
 WHEN 'Canada' THEN
  SET p_shiping = '3-day Shipping';
 ELSE
  SET p_shiping = '5-day Shipping';
 END CASE;
END$$

上述sql的工作方式如下:

  • GetCustomerShipping存儲過程接受客戶編號作為IN參數(shù),并根據(jù)客戶所在國家返回運(yùn)送時間。
  • 在存儲過程中,首先,我們根據(jù)輸入的客戶編號得到客戶的國家。然后使用簡單CASE語句來比較客戶的國家來確定運(yùn)送期。如果客戶位于美國(USA),則運(yùn)送期為2天。 如果客戶在加拿大,運(yùn)送期為3天。 來自其他國家的客戶則需要5天的運(yùn)輸時間。

來看下確定運(yùn)輸時間的邏輯的流程圖:

以下是上述存儲過程的測試腳本:

SET @customerNo = 112;
SELECT country into @country
FROM customers
WHERE customernumber = @customerNo;
CALL GetCustomerShipping(@customerNo,@shipping);
SELECT @customerNo AS Customer,
    @country  AS Country,
    @shipping  AS Shipping;

執(zhí)行上面代碼,得到以下結(jié)果:

+----------+---------+----------------+
| Customer | Country | Shipping       |
+----------+---------+----------------+
|      112 | USA     | 2-day Shipping |
+----------+---------+----------------+
1 row in set

簡單CASE語句僅允許我們將表達(dá)式的值與一組不同的值進(jìn)行匹配。 為了執(zhí)行更復(fù)雜的匹配,如范圍,我們可以使用可搜索CASE語句。 可搜索CASE語句等同于IF語句,但是它的構(gòu)造更加可讀,來看下它的語法結(jié)構(gòu):

CASE
  WHEN condition_1 THEN commands
  WHEN condition_2 THEN commands
  ...
  ELSE commands
END CASE;

上述sql首先會評估求值WHEN子句中的每個條件,直到找到一個值為TRUE的條件,然后執(zhí)行THEN子句中的相應(yīng)命令(commands)。如果沒有一個條件為TRUE,則執(zhí)行ELSE子句中的命令(commands)。如果不指定ELSE子句,并且沒有一個條件為TRUE,mysql將發(fā)出錯誤消息。mysql不允許在THEN或ELSE子句中使用空的命令。 如果我們不想處理ELSE子句中的邏輯,同時又要防止mysql引發(fā)錯誤,則可以在ELSE子句中放置一個空的BEGIN END塊。咱們來看下使用可搜索CASE語句來根據(jù)客戶的信用額度來查找客戶級:SILVER,GOLD或PLATINUM的案例:

DELIMITER $$
CREATE PROCEDURE GetCustomerLevel(
 in p_customerNumber int(11), 
 out p_customerLevel varchar(10))
BEGIN
  DECLARE creditlim double;
  SELECT creditlimit INTO creditlim
 FROM customers
 WHERE customerNumber = p_customerNumber;
  CASE 
 WHEN creditlim > 50000 THEN 
  SET p_customerLevel = 'PLATINUM';
 WHEN (creditlim = 50000 AND creditlim >= 10000) THEN
  SET p_customerLevel = 'GOLD';
 WHEN creditlim  10000 THEN
  SET p_customerLevel = 'SILVER';
 END CASE;
END$$

在上面查詢語句邏輯中,如果信用額度是:

  • 大于50K,則客戶是PLATINUM客戶。
  • 小于50K,大于10K,則客戶是GOLD客戶。
  • 小于10K,那么客戶就是SILVER客戶。

我們可以通過執(zhí)行以下測試腳本來測試存儲過程:

CALL GetCustomerLevel(112,@level);
SELECT @level AS 'Customer Level';

執(zhí)行上面查詢語句,得到以下結(jié)果:

+----------------+
| Customer Level |
+----------------+
| PLATINUM       |
+----------------+
1 row in set

好啦,本次分享就到這里了。

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL存儲過程技巧大全》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》及《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總》

希望本文所述對大家MySQL數(shù)據(jù)庫計有所幫助。

您可能感興趣的文章:
  • MySQL case when使用方法實(shí)例解析
  • MySQL排序中使用CASE WHEN的方法示例
  • 深入淺析MySQL 中 Identifier Case Sensitivity問題
  • mysql case when group by 實(shí)例詳解
  • 詳解Mysql case then使用
  • mysql update case 更新字段值不固定的操作

標(biāo)簽:黃石 鞍山 河北 赤峰 煙臺 果洛 陽江 來賓

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mysql存儲過程之case語句用法實(shí)例詳解》,本文關(guān)鍵詞  mysql,存儲,過程,之,case,語句,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《mysql存儲過程之case語句用法實(shí)例詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于mysql存儲過程之case語句用法實(shí)例詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    99久久精品国产高清一区二区 | 精品国产一区二区三区久| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产原创视频在线| 一本高清在线| 台湾美女古装一级毛片| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 97视频免费在线| 国产精品123| 色综合久久天天综合观看| 韩国毛片| 久久久成人网| 天天做日日干| 国产韩国精品一区二区三区| 麻豆网站在线免费观看| 精品久久久久久综合网| 久久国产精品只做精品| 国产一区二区精品久久91| 日韩在线观看网站| 亚洲天堂免费| 国产一区二区精品久久91| 香蕉视频久久| 日本在线www| 亚洲第一页乱| 天天色成人网| 精品在线免费播放| 黄色免费网站在线| 日本伦理片网站| 国产精品自拍一区| 国产一区二区精品尤物| 九九精品久久久久久久久| 久久精品免视看国产明星| 日本免费看视频| 欧美激情一区二区三区在线| 日韩中文字幕在线亚洲一区| 国产麻豆精品免费视频| 精品视频免费看| 沈樵在线观看福利| 九九久久国产精品大片| 欧美一级视频免费| 日本在线不卡免费视频一区| 国产精品123| 一级毛片视频在线观看| 国产不卡在线观看视频| 午夜欧美成人久久久久久| 国产伦久视频免费观看 视频| 久久99这里只有精品国产| 国产一区二区精品久久91| 97视频免费在线| 国产伦理精品| 九九国产| 中文字幕97| 午夜在线亚洲| 精品国产一区二区三区免费| 国产国语对白一级毛片| 久久久久久久久综合影视网| 亚欧成人毛片一区二区三区四区| 亚洲第一色在线| 九九精品在线播放| 欧美另类videosbestsex视频| 久久精品免视看国产明星| 成人免费网站久久久| a级毛片免费观看网站| 日本乱中文字幕系列| 你懂的日韩| 青青青草影院| 青青久久精品| 精品久久久久久影院免费| 欧美日本韩国| 久久国产精品只做精品| 欧美激情一区二区三区中文字幕| 国产网站在线| 亚洲第一色在线| 成人a大片高清在线观看| 美国一区二区三区| 一a一级片| 精品美女| 亚欧成人毛片一区二区三区四区| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产网站免费视频| 一级片免费在线观看视频| 精品美女| 精品视频一区二区| 日韩专区亚洲综合久久| 二级特黄绝大片免费视频大片| 久久国产一久久高清| 久草免费在线观看| 国产网站麻豆精品视频| 国产美女在线观看| 日韩中文字幕在线播放| 国产精品123| 久久国产一久久高清| 黄视频网站免费看| 欧美激情一区二区三区在线| 国产原创视频在线| 天天做日日干| 日韩中文字幕在线亚洲一区| 国产韩国精品一区二区三区| 亚久久伊人精品青青草原2020| 成人免费网站久久久| 国产精品免费久久| 日韩一级精品视频在线观看| 99久久精品国产麻豆| 日韩男人天堂| 99热热久久| a级毛片免费观看网站| 四虎影视久久久免费| 久草免费资源| 色综合久久天天综合观看| 一级片免费在线观看视频| 欧美另类videosbestsex高清| a级毛片免费观看网站| 精品视频一区二区| 成人免费观看网欧美片| 欧美另类videosbestsex高清| 久久久成人网| 国产精品免费久久| 精品久久久久久影院免费| 欧美激情在线精品video| 四虎久久精品国产| 精品国产三级a| 欧美激情一区二区三区视频| 日韩中文字幕在线亚洲一区| 美女免费精品视频在线观看| 久久福利影视| 久久国产一久久高清| 亚洲 男人 天堂| 久久福利影视| 欧美a级成人淫片免费看| 国产不卡福利| 999精品在线| 国产亚洲精品成人a在线| 天天做日日干| 国产高清视频免费| 日韩中文字幕在线亚洲一区| 精品久久久久久综合网| 青青久热| 欧美一区二区三区在线观看| 四虎影视库国产精品一区| 国产精品123| 精品国产一区二区三区久久久蜜臀 | 天天做日日爱| 成人在激情在线视频| 高清一级毛片一本到免费观看| 日本在线www| 精品久久久久久影院免费| 成人高清视频在线观看| 青青久热| 久久成人性色生活片| 成人免费观看男女羞羞视频| 亚洲 男人 天堂| 亚欧成人毛片一区二区三区四区| 日日夜夜婷婷| 欧美电影免费看大全| 色综合久久手机在线| 91麻豆国产| 国产极品白嫩美女在线观看看 | 日韩中文字幕一区| 麻豆网站在线免费观看| 高清一级毛片一本到免费观看| 韩国毛片| 青青久久精品| 国产欧美精品| 午夜激情视频在线播放| 国产麻豆精品| 九九热国产视频| 麻豆系列 在线视频| 日韩中文字幕在线亚洲一区| 日本免费区| 国产一级强片在线观看| 国产91素人搭讪系列天堂| 91麻豆精品国产自产在线观看一区 | 黄视频网站在线看| 国产亚洲免费观看| 成人a级高清视频在线观看| 国产精品自拍一区| 成人在激情在线视频| 久久精品免视看国产明星| 999精品在线| 九九九网站| 四虎影视精品永久免费网站| 日韩一级精品视频在线观看| 国产网站麻豆精品视频| 欧美激情一区二区三区在线| 一a一级片| 国产一区二区精品尤物| 韩国三级香港三级日本三级la| 韩国毛片| 精品国产一区二区三区久| 日韩专区亚洲综合久久| 国产网站免费视频| 一a一级片| 亚洲女人国产香蕉久久精品 | 日韩中文字幕在线亚洲一区| 二级特黄绝大片免费视频大片| 国产成a人片在线观看视频| 精品久久久久久中文字幕2017| 国产网站麻豆精品视频| 久久99这里只有精品国产| 精品美女|