sql批處理和流程控制語句.ppt

sql批處理和流程控制語句.ppt

ID:48058893

大小:303.31 KB

頁數(shù):16頁

時間:2019-05-06

sql批處理和流程控制語句.ppt_第1頁
sql批處理和流程控制語句.ppt_第2頁
sql批處理和流程控制語句.ppt_第3頁
sql批處理和流程控制語句.ppt_第4頁
sql批處理和流程控制語句.ppt_第5頁
資源描述:

《sql批處理和流程控制語句.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、批處理和流程控制語句批處理所謂批處理是指從客戶機傳遞到服務(wù)器上的一組完整的數(shù)據(jù)和SQL指令。在一個批處理中,可以只包含一條SQL指令,也可以包含多條指令。批處理的所有語句被當作一個整體整體,而被成批地分析、編譯和執(zhí)行,若這一批處理中存在一個語法錯誤,則所有的語句都無法通過編譯。所有的批處理指令以GO作為結(jié)束的標志,當編譯器讀到GO時,它就會把GO前面的所有指令當作一個批處理,并包裝成一個數(shù)據(jù)包發(fā)送給服務(wù)器。例如:建立一個批處理完成查詢。USE學(xué)生信息庫--打開數(shù)據(jù)庫GOSELECT*FROM學(xué)生基本表WHERE院系名稱=‘信息學(xué)院’GO流程控制語句一、注釋語句在SQL中提供了兩種注釋方式:-

2、-:一行注釋(注釋的內(nèi)容不超過一行)/**/:一段注釋(當注釋的內(nèi)容超過一行)二、變量變量指的是在程序運行過程中值可以發(fā)生變化的量。SQL分為兩種類型的變量:全局變量和局部變量。其中全局變量是系統(tǒng)已經(jīng)定義好的變量,主要反映SQL數(shù)據(jù)庫的操作狀態(tài)。全局變量名稱以@@開頭;局部變量可以由用戶定義,主要用于保存運算結(jié)果,局部變量的名稱必須以@開頭。局部變量的聲明DECLARE<@變量名1><數(shù)據(jù)類型>[,<@變量名2><數(shù)據(jù)類型>……]例如:DECLARE@xint,@yint局部變量的顯示SELECT<@變量名表>PRINT<@變量名>例如:SELECT@X,@Y在此,若使用SELECT顯示,則

3、返回結(jié)果在“網(wǎng)格”中;若使用PRINT顯示,則返回結(jié)果在“消息”中。局部變量賦值1.通過SELECT賦值SELECT<@變量名1>=<表達式1>[,<@變量名2>=<表達式2>……]說明:SELECT語句可以給多個變量賦值。例如:SELECT@X=0,@Y=12.通過SET賦值SET@變量名=表達式說明:局部變量沒有賦值時其值是NULL;不能在一個SET語句中同時對幾個變量賦值,如果給幾個變量賦值,那就不得不分開來寫。例如:按要求編寫程序。先定義一個INT類型@num變量,CHAR類型@cnum變量,然后分別賦值2004,最后使用PRINT語句將這兩個變量的值輸出。DECLARE@numin

4、t,@cnumchar(10)SET@NUM=2004SET@CNUM=‘2004’PRINT@NUMPRINT@CNUM三、BEGIN……END語句又稱語句塊,是將SQL語句組合起來從而形成一個語句塊。BEGIN語句1語句2..END說明:1.將要組合成語句塊的語句在BEGIN和END之間就可以了。2.BEGIN……END可以嵌套。四、IF……ELSE語句利用IF……ELSE語句能夠?qū)σ粋€條件進行測試,并根據(jù)測試的結(jié)果來執(zhí)行不同的語句塊。IF<條件表達式>語句塊[ELSE語句塊]說明:1.ELSE并不一定是必須的。2.條件為真,就執(zhí)行IF語句后面的語句塊,否則執(zhí)行ELSE后面的語句塊。3.

5、IF……ELSE可以嵌套。例如:編寫程序完成如下功能:查看是否有1988年9月1日以后出生的學(xué)生。有則將輸出該學(xué)生的姓名和學(xué)號,否則輸出提示用戶沒有找到的信息。IFEXISTS(SELECT*FROM學(xué)生基本表WHERE出生日期>‘1988-9-1’)BEGINSELECT姓名,學(xué)號FROM學(xué)生基本表WHERE出生日期>‘1988-9-1’ENDELSEPRINT‘沒有此信息’五、無條件轉(zhuǎn)移語句GOTO標號……標號說明:1.GOTO語句會強迫服務(wù)器從標號處開始繼續(xù)執(zhí)行程序。2.標號必須出現(xiàn)在同一個存儲過程或批處理中。標號和GOTO語句誰在代碼中先出現(xiàn)不重要。3.對于GOTO的使用,盡可能不用

6、。六、循環(huán)語句WHILE條件表達式SQL語句塊[BREAK]SQL語句塊[CONTINUE]說明:[BREAK]表示退出所在的循環(huán)。[CONTINUE]表示結(jié)束本次循環(huán),跳過循環(huán)體中尚未執(zhí)行的語句,進行下一次是否執(zhí)行循環(huán)體的判斷。例如:計算1到100的和。DECLARE@IINT,@SINTSELECT@I=1SELECT@S=0WHILE@I<=100BEGINSELECT@S=@S+@ISELECT@I=@I+1ENDSELECT@S例如:計算1到100中奇數(shù)的和。DECLARE@NUMINT,@SUMINTSET@NUM=0SET@SUM=0WHILE@NUM<100BEGINSET@

7、NUM=@NUM+1IF@NUM%2=0CONTINUEELSESET@SUM=@SUM+@NUMENDPRINT@SUM這個程序中的CONTINUE是不能用BREAK來代替的。七、無條件退出RETURN說明:用于從批處理、語句塊中無條件的退出,不執(zhí)行位于RETURN后面的語句。

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。