批處理和流程控制語(yǔ)句_第1頁(yè)
批處理和流程控制語(yǔ)句_第2頁(yè)
批處理和流程控制語(yǔ)句_第3頁(yè)
批處理和流程控制語(yǔ)句_第4頁(yè)
批處理和流程控制語(yǔ)句_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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

2、兩種注釋方式:-:一行注釋?zhuān)ㄗ⑨尩膬?nèi)容不超過(guò)一行)/* */:一段注釋?zhuān)ó?dāng)注釋的內(nèi)容超過(guò)一行)二、變量變量指的是在程序運(yùn)行過(guò)程中值可以發(fā)生變化的量。SQL 分為兩種類(lèi)型的變量:全局變量和局部變量。其中全局變量是系統(tǒng)已經(jīng)定義好的變量,主要反映SQL數(shù)據(jù)庫(kù)的操作狀態(tài)。全局變量名稱(chēng)以開(kāi)頭;局部變量可以由用戶(hù)定義,主要用于保存運(yùn)算結(jié)果,局部變量的名稱(chēng)必須以開(kāi)頭。4局部變量的聲明DECLARE ,例如:DECLARE x int,y int局部變量的顯示SELECT PRINT 例如:SELECT X,Y在此,若使用SELECT顯示,則返回結(jié)果在“網(wǎng)格”中;若使用PRINT顯示,則返回結(jié)果在“消息”中。

3、5局部變量賦值1.通過(guò)SELECT賦值SELECT =,=說(shuō)明:SELECT語(yǔ)句可以給多個(gè)變量賦值。例如:SELECT X=0,Y=12.通過(guò)SET賦值SET 變量名=表達(dá)式說(shuō)明:局部變量沒(méi)有賦值時(shí)其值是NULL;不能在一個(gè)SET語(yǔ)句中同時(shí)對(duì)幾個(gè)變量賦值,如果給幾個(gè)變量賦值,那就不得不分開(kāi)來(lái)寫(xiě)。6例如:按要求編寫(xiě)程序。先定義一個(gè)INT類(lèi)型num變量,CHAR類(lèi)型cnum變量,然后分別賦值2004,最后使用PRINT語(yǔ)句將這兩個(gè)變量的值輸出。DECLARE num int,cnum char(10)SET NUM=2004SET CNUM=2004PRINT NUMPRINT CNUM7三、BE

4、GINEND語(yǔ)句又稱(chēng)語(yǔ)句塊,是將SQL語(yǔ)句組合起來(lái)從而形成一個(gè)語(yǔ)句塊。BEGIN 語(yǔ)句1 語(yǔ)句2 . .END說(shuō)明:81.將要組合成語(yǔ)句塊的語(yǔ)句在BEGIN和END之間就可以了。2.BEGINEND可以嵌套。四、IFELSE語(yǔ)句利用IFELSE語(yǔ)句能夠?qū)σ粋€(gè)條件進(jìn)行測(cè)試,并根據(jù)測(cè)試的結(jié)果來(lái)執(zhí)行不同的語(yǔ)句塊。IF 語(yǔ)句塊ELSE 語(yǔ)句塊說(shuō)明:91.ELSE并不一定是必須的。2.條件為真,就執(zhí)行IF語(yǔ)句后面的語(yǔ)句塊,否則執(zhí)行ELSE后面的語(yǔ)句塊。3.IFELSE可以嵌套。例如:編寫(xiě)程序完成如下功能:查看是否有1988年9月1日以后出生的學(xué)生。有則將輸出該學(xué)生的姓名和學(xué)號(hào),否則輸出提示用戶(hù)沒(méi)有找到的

5、信息。IF EXISTS(SELECT * FROM 學(xué)生基本表 WHERE 出生日期1988-9-1)BEGIN10 SELECT 姓名,學(xué)號(hào) FROM 學(xué)生基本表 WHERE 出生日期1988-9-1ENDELSE PRINT 沒(méi)有此信息五、無(wú)條件轉(zhuǎn)移語(yǔ)句GOTO 標(biāo)號(hào)標(biāo)號(hào)說(shuō)明:1.GOTO語(yǔ)句會(huì)強(qiáng)迫服務(wù)器從標(biāo)號(hào)處開(kāi)始繼續(xù)執(zhí)行程序。112.標(biāo)號(hào)必須出現(xiàn)在同一個(gè)存儲(chǔ)過(guò)程或批處理中。標(biāo)號(hào)和GOTO語(yǔ)句誰(shuí)在代碼中先出現(xiàn)不重要。3.對(duì)于GOTO的使用,盡可能不用。六、循環(huán)語(yǔ)句WHILE 條件表達(dá)式 SQL 語(yǔ)句塊 BREAK SQL 語(yǔ)句塊 CONTINUE說(shuō)明:12BREAK表示退出所在的循環(huán)。CONTINUE表示結(jié)束本次循環(huán),跳過(guò)循環(huán)體中尚未執(zhí)行的語(yǔ)句,進(jìn)行下一次是否執(zhí)行循環(huán)體的判斷。例如:計(jì)算1到100的和。DECLARE I INT,S INTSELECT I=1SELECT S=0WHILE I=100 BEGIN13 SELECT S=S+I SELECT I=I+1 ENDSELECT S例如:計(jì)算1到100中奇數(shù)的和。DECLARE NUM INT,SUM INTSET NUM=0SET SUM=0WHILE NUM10014BEGIN SET NUM=NUM+1 IF NUM%2=0 CONTINUE ELSE SET SUM=SUM+NUME

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論