欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

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

mysql存儲過程之case語句用法實例詳解

熱門標簽:巫師三血與酒地圖標注 萊西市地圖標注 外呼系統電銷受騙 銷售語音電話機器人 安徽ai電話電銷機器人有效果嗎 400電話申請信用卡 走過哪個省地圖標注 在哪里申請400電話 常州網絡外呼系統開發

本文實例講述了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語句來檢查表達式的值與一組唯一值的匹配,上述sql中,case_expression可以是任何有效的表達式。我們將case_expression的值與每個WHEN子句中的when_expression進行比較,例如when_expression_1,when_expression_2等。如果case_expression和when_expression_n的值相等,則執行相應的WHEN分支中的命令(commands)。如果WHEN子句中的when_expression與case_expression的值匹配,則ELSE子句中的命令將被執行。其中,ELSE子句是可選的,如果我們省略ELSE子句,并且找不到匹配項,mysql將引發錯誤。我們來看個使用簡單的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參數,并根據客戶所在國家返回運送時間。
  • 在存儲過程中,首先,我們根據輸入的客戶編號得到客戶的國家。然后使用簡單CASE語句來比較客戶的國家來確定運送期。如果客戶位于美國(USA),則運送期為2天。 如果客戶在加拿大,運送期為3天。 來自其他國家的客戶則需要5天的運輸時間。

來看下確定運輸時間的邏輯的流程圖:

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

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;

執行上面代碼,得到以下結果:

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

簡單CASE語句僅允許我們將表達式的值與一組不同的值進行匹配。 為了執行更復雜的匹配,如范圍,我們可以使用可搜索CASE語句。 可搜索CASE語句等同于IF語句,但是它的構造更加可讀,來看下它的語法結構:

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

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

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

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

執行上面查詢語句,得到以下結果:

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

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

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

希望本文所述對大家MySQL數據庫計有所幫助。

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

標簽:黃石 鞍山 河北 赤峰 煙臺 果洛 陽江 來賓

巨人網絡通訊聲明:本文標題《mysql存儲過程之case語句用法實例詳解》,本文關鍵詞  mysql,存儲,過程,之,case,語句,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mysql存儲過程之case語句用法實例詳解》相關的同類信息!
  • 本頁收集關于mysql存儲過程之case語句用法實例詳解的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    欧美xxxooo| 国产精品久久午夜| 午夜精品福利视频网站| av在线免费观看不卡| 四虎884aa成人精品| 日本一区二区久久| 国产精品一二三四区| 色www亚洲国产阿娇yao| 亚洲精品一区二区三区在线观看| 日本欧美一区二区| 日韩乱码人妻无码中文字幕久久| 欧美成人一区二区三区在线观看| 日韩国产精品久久久| 自拍视频一区二区| 欧美一区二区三区不卡| 日韩精品免费专区| mm131美女视频| 精品国产第一区二区三区观看体验| 青青草国产成人99久久| 国产熟妇久久777777| 久久伊人蜜桃av一区二区| 国产又黄又大久久| 日日操免费视频| 国产精品久久久久久久第一福利| 亚洲色图第一区| 99国产欧美久久久精品| 精品视频123区在线观看| 亚洲福利视频导航| 中国一级特黄录像播放| 日韩欧美国产麻豆| 激情深爱一区二区| 91成人福利视频| 夜夜精品浪潮av一区二区三区| 佐佐木明希电影| 欧美xxxx在线观看| 国产精品一二三区| 色丁香久综合在线久综合在线观看| 一区二区三区四区在线播放| 美女伦理水蜜桃4| 日韩精品中文字幕在线一区| 国产乱人伦偷精品视频免下载| 日韩欧美综合视频| 亚洲制服丝袜av| v8888av| 亚洲国产精品传媒在线观看| 99久久er热在这里只有精品15| 欧美偷拍一区二区| 裸体在线国模精品偷拍| 亚洲怡红院在线观看| 亚洲国产一区二区视频| 无码人妻精品一区二区中文| 国产精品区一区二区三| 色欲无码人妻久久精品| 日韩欧美高清dvd碟片| 大尺度一区二区| 欧美精三区欧美精三区| 国产乱一区二区| 欧美日韩高清一区二区三区| 久久草av在线| 在线观看日韩av先锋影音电影院| 日韩激情视频网站| 成年人一级黄色片| 日韩va亚洲va欧美va久久| 看免费黄色录像| 日韩高清欧美激情| 永久久久久久久| 日本一区中文字幕| 北条麻妃在线观看视频| 五月天欧美精品| 四虎免费在线视频| 美女视频网站黄色亚洲| 91久久精品午夜一区二区| 蜜臀精品一区二区三区在线观看| 色综合天天做天天爱| 蜜桃久久精品一区二区| 在线免费观看不卡av| 国内精品伊人久久久久av一坑| 欧美怡红院视频| 国产成人av资源| 日韩欧美一区二区不卡| 97精品国产露脸对白| 国产午夜精品久久| 色婷婷免费视频| 亚洲视频在线一区| 黄色av免费播放| 日韩va欧美va亚洲va久久| 在线观看亚洲精品| 国产高清不卡一区| 欧美电影免费观看高清完整版在线| 成人久久视频在线观看| 精品国产91乱码一区二区三区| 四虎国产精品免费| 国产精品久久综合| 国产又黄又粗视频| 日韩中文字幕不卡| 欧美午夜精品一区二区三区| 国产成人一区在线| 精品久久久久香蕉网| 污污污www精品国产网站| 亚洲精品国产视频| 欧美做爰爽爽爽爽爽爽| 国产综合色视频| 欧美sm美女调教| 国产精品一区二区人妻喷水| 亚洲乱码国产乱码精品精的特点| 中文字幕91视频| 久久国产三级精品| 日韩欧美一卡二卡| 老司机免费视频| 亚洲sss视频在线视频| 色香蕉久久蜜桃| 成人性色生活片| 国产欧美日韩精品在线| 欧美波霸videosex极品| 久久精品国产一区二区| 日韩欧美在线不卡| 精品夜夜澡人妻无码av| 日韩精品一区第一页| 欧美一区在线视频| 久久久久久久人妻无码中文字幕爆| 一区二区久久久| 欧美视频一区二区在线观看| a级大片免费看| 一区二区三区四区蜜桃 | 免费观看在线综合色| 欧美精品欧美精品系列| 亚洲图片欧美另类| 午夜激情久久久| 日韩一区二区三区在线观看| 日本三级日本三级日本三级极| 亚洲成人免费观看| 7777精品伊人久久久大香线蕉的 | 99在线精品一区二区三区| 亚洲欧美怡红院| 色综合久久天天综合网| av激情亚洲男人天堂| 亚洲精品一二三| 欧美性猛片xxxx免费看久爱| 欧美一区二区三区影院| 亚洲精品欧美激情| 欧美日韩国产高清一区二区| 美女扒开腿免费视频| 日韩高清在线不卡| 欧美mv日韩mv| 91ts人妖另类精品系列| 成人在线视频一区二区| 伊人色综合久久天天| 欧美精品1区2区| 波多野结衣 在线| 国产资源精品在线观看| 国产精品美女久久久久久久| 色偷偷久久一区二区三区| 99精品视频免费在线观看| 一区二区三区四区高清精品免费观看| 欧美亚洲国产一区二区三区| 91九色蝌蚪porny| 蜜桃免费网站一区二区三区| 国产日韩欧美高清在线| 色婷婷精品久久二区二区蜜臀av| 黑人无套内谢中国美女| 日韩av在线发布| 国产亚洲精品中文字幕| 色诱视频网站一区| 污污污www精品国产网站| 国产在线麻豆精品观看| 亚洲欧美中日韩| 91精品免费在线观看| 自拍偷拍第9页| 在线观看欧美一区二区| 免费xxxx性欧美18vr| 中文字幕乱码日本亚洲一区二区| 在线日韩av片| 在线免费观看日韩av| 成人免费视频一区| 亚洲h精品动漫在线观看| 久久久久久99精品| 在线免费观看日本欧美| 无码国产69精品久久久久同性| 成人av网在线| 日本午夜一本久久久综合| 国产精品丝袜在线| 欧美精品v国产精品v日韩精品 | 日本乱人伦aⅴ精品| 国产男女猛烈无遮挡a片漫画 | 国产精品一区一区| 亚洲一区二区三区四区在线| 久久综合九色综合97_久久久| 色婷婷综合久久| 一级性生活毛片| 久久aaaa片一区二区| 国产一区二区三区精品视频| 亚洲一区在线观看免费观看电影高清 | 亚洲码无人客一区二区三区| av在线这里只有精品| 蜜桃视频免费观看一区| 亚洲免费三区一区二区| 久久久久久久久久久久久夜| 欧美日韩免费不卡视频一区二区三区| 少妇视频在线播放| 91丨porny丨对白|