數(shù)據(jù)庫技術(shù)項(xiàng)目式教程(MySQL)課件 任務(wù)8.2使用變量和流程控制語句_第1頁
數(shù)據(jù)庫技術(shù)項(xiàng)目式教程(MySQL)課件 任務(wù)8.2使用變量和流程控制語句_第2頁
數(shù)據(jù)庫技術(shù)項(xiàng)目式教程(MySQL)課件 任務(wù)8.2使用變量和流程控制語句_第3頁
數(shù)據(jù)庫技術(shù)項(xiàng)目式教程(MySQL)課件 任務(wù)8.2使用變量和流程控制語句_第4頁
數(shù)據(jù)庫技術(shù)項(xiàng)目式教程(MySQL)課件 任務(wù)8.2使用變量和流程控制語句_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

使用變量和流程控制語句任務(wù)提出在用戶自定義函數(shù)、存儲(chǔ)過程中往往包含多條SQL語句,語句間傳遞數(shù)據(jù)需要使用變量。實(shí)現(xiàn)較復(fù)雜功能需要使用到選擇、循環(huán),即流程控制語句。任務(wù)分析MySQL的自定義變量分局部變量和用戶變量,常用的是局部變量。流程控制語句包括IF、CASE選擇語句,WHILE、REPEAT、LOOP循環(huán)語句。1.局部變量變量是用來在語句之間傳遞數(shù)據(jù)的方式之一,是語言中必不可少的組成部分。局部變量要使用DECLARE語句先定義,只在BEGIN-END語句塊之間有效,并且必須在開頭定義。相關(guān)知識(shí)與技能局部變量(1)定義局部變量DECLARE變量名數(shù)據(jù)類型[DEFAULT默認(rèn)值];(2)給局部變量賦值SET變量名=值;或者SELECT…INTO變量名[FROM…];

相關(guān)知識(shí)與技能【例1】創(chuàng)建函數(shù)adds,返回兩個(gè)數(shù)的和,使用局部變量。DELIMITER//CREATEFUNCTIONadds(aINT,bINT)RETURNSINTBEGINDECLAREcINTDEFAULT0;#定義c為局部變量

setc=a+b;RETURNc;END;//DELIMITER;#使用函數(shù)SELECTAdds(2,3);任務(wù)實(shí)施2.選擇語句(1)IF語句IF…ELSE語句是條件判斷語句,其中,ELSE子句是可選的。IF邏輯條件表達(dá)式THEN

一個(gè)語句或多個(gè)語句;[ELSE

一個(gè)語句或多個(gè)語句;]ENDIF;相關(guān)知識(shí)與技能【例2】創(chuàng)建函數(shù)is_even,判斷某個(gè)數(shù)是否為偶數(shù),如果是返回1,否則返回0。DELIMITER//createFUNCTIONis_even(numint)RETURNSINT begin

IFnum%2=0THEN RETURN1; ELSE RETURN0; ENDIF;end;//DELIMITER;

任務(wù)實(shí)施選擇語句(2)CASE語句1)簡(jiǎn)單CASE語句CASE表達(dá)式WHEN值1THEN語句序列1;WHEN值2THEN語句序列2;…ELSE語句序列n;ENDCASE;2)搜索CASE語句CASEWHEN條件1THEN語句序列1;WHEN條件2THEN語句序列2;…ELSE語句序列n;ENDCASE;相關(guān)知識(shí)與技能【例3】在School數(shù)據(jù)庫創(chuàng)建函數(shù)convert_grade,返回輸入百分制成績(jī)對(duì)應(yīng)的五級(jí)制字符。CREATEFUNCTIONconvert_grade(gradeDECIMAL(4,1))RETURNSVARCHAR(50) BEGIN

DECLAREresultVARCHAR(50); CASE

WHENgrade>=90THENSETresult='優(yōu)秀'; WHENgrade>=80THENSETresult='良好'; WHENgrade>=70THENSETresult='中等'; WHENgrade>=60THENSETresult='及格'; WHENgrade<60THENSETresult='不及格'; ELSESETresult=NULL; ENDCASE; RETURNresult; END;任務(wù)實(shí)施3.循環(huán)語句MySQL中的循環(huán)語句有WHILE、REPEAT、LOOP循環(huán)語句。(1)WHILE循環(huán)語句:WHILE條件DO …… ENDWHILE;(2)REPEAT循環(huán)語句:REPEAT ……UNTILE條件ENDREPEAT;

(3)LOOP循環(huán)語句:LOOP……ENDLOOP;相關(guān)知識(shí)與技能【例4】創(chuàng)建函數(shù)rand_string,根據(jù)輸入的整數(shù)n,返回1個(gè)長(zhǎng)度為n的隨機(jī)字符串。CREATEFUNCTIONrand_string(nINT)RETURNSVARCHAR(255)BEGIN

DECLAREchar_strvarchar(100)DEFAULT'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; DECLAREreturn_strvarchar(255)DEFAULT''; DECLAREiINTDEFAULT0; WHILEi<nDO

SETreturn_str=concat(return_str,substring(char_str,FLOOR(1+RAND()*

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論