iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 30
0
AI & Data

作者超囉嗦,但一天只要十分鐘的MYSQL真.新手教學系列 第 30

第三十日與完賽心得-MYSQL預存程序 STORED PROCEDURE:來寫一個BMI小程式(3)

  • 分享至 

  • xImage
  •  

第三十日,也是最後一日,該發表超囉嗦的鐵人賽心得了,
但在那之前,我們先把BMI小程式寫完吧!
謝謝你和我一起完成每天10分鐘,30天的MYSQL新手學習之旅!

如果照著昨天的提示寫完,會長這樣:

DELIMITER $$
CREATE PROCEDURE BMICompute (`height` int,`weight` int)
BEGIN
DECLARE BMI DECIMAL(5,2) ;
SET BMI=weight/((height/100)*height/100);

IF BMI>24 THEN
SELECT CONCAT('你的BMI是',BMI,'過重了');
ELSEIF  BMI>18 THEN
SELECT CONCAT('你的BMI是',BMI,'正常');
ELSE
SELECT CONCAT('你的BMI是',BMI,'太輕了');
END IF;
END$$
DELIMITER ;

因為只有三個條件,我用IF寫(CASE也可以!),
順便偷渡「ELSEIF」XD,
ELSEIF意思是「不然如果」,
結合IF會變成「如果...就...,不然如果...就..」,
沒有達到第一個「如果」的資料,就會進入這個「不然如果」的判斷。
CONCAT()之前有介紹過(MYSQL常用字串函數:用分隔符取字串、字串合併),
這裡把字串跟變數BMI結合,回傳出去。

都搞懂以後,可以按執行,建立預存程序囉!

接下來使用我們辛辛苦苦寫的預存程序,
語法是

  1. CALL
  2. 預存程序名字
  3. () 有參數放參數進去,沒參數就不用放

像這樣:

CALL BMICompute (160,50);

心得

結束啦!既享受又痛苦著的參賽過程,
一開始只是因為從IT邦得到很多學習幫助,
自己也想成為能夠貢獻的人,
加上有些朋友想轉職,或是想從商業數據分析進修,
就寫了這系列文章給朋友們。

寫的時候,每天都很想偷懶,介紹重點就好,
心中會不自覺冒出「啊就語法貼一貼自己玩看看就會了」,
但又想到當初自己花好多時間爬文,蒐集資訊,一路掙扎過來,
沒有系統性的基礎教學可以FOLLOW(網路上很多都不會講解基本用詞啊啊),
趁自己還記得那份辛苦跟還分得出什麼是工程師用語什麼不是的時候,
趕快寫一份白話的囉唆教學文。

寫著寫著,發現要能用白話文寫很不容易,
要想生活化的例子不簡單,
要順暢地寫出來更是要反覆編修。

寫著寫著,每天幾乎都花兩三小時,寫了一兩千字,
想方設法縮減內容,希望讓讀者能維持在每天10分鐘學習就好,
不要造成太多壓力,
學東西就是要開心,才有興趣學下去,才願意花下班時間學習。

寫著寫著,三十天就到了,
每天喊著「我不能聚餐,我要回家寫鐵人文」的日子要結束了。
「作者超囉嗦,但一天只要十分鐘的MYSQL真.新手教學」系列文告一段落了。

原本以為解脫了,但腦中又默默闖進別的想法,
「寫轉職工程師系列文吧?」

寫字與寫扣,兩者都很有趣啊!
但無論寫字還是寫扣,
要提醒自己:莫忘初心


上一篇
第二十九日-MYSQL預存程序 STORED PROCEDURE:來寫一個BMI小程式(2)
系列文
作者超囉嗦,但一天只要十分鐘的MYSQL真.新手教學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言