資源描述:
《SQlServer2005數(shù)據(jù)庫(kù)及應(yīng)用教師使用資源 教學(xué)課件 ppt 作者 徐人鳳 第3章 Transact-SQL語(yǔ)言編程.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第3講Transact-SQL語(yǔ)言編程學(xué)習(xí)目的掌握Transact-SQL語(yǔ)言編程知識(shí),包括標(biāo)識(shí)符、表達(dá)式、運(yùn)算符、常用函數(shù)、常量與變量,常用系統(tǒng)存儲(chǔ)過(guò)程,以及流控語(yǔ)句等,并能夠根據(jù)實(shí)際需要,進(jìn)行綜合運(yùn)用編寫(xiě)程序代碼。內(nèi)容框架編程基礎(chǔ)知識(shí)問(wèn)題如何編制類似C語(yǔ)言的基本程序?要能編程須具備哪些結(jié)構(gòu)?Transact-SQL語(yǔ)法規(guī)則引用數(shù)據(jù)庫(kù)對(duì)象的規(guī)則Transact-SQL的語(yǔ)法元素標(biāo)識(shí)符:常規(guī)標(biāo)識(shí)符、分隔標(biāo)識(shí)符練習(xí)1問(wèn)題:下面的標(biāo)識(shí)符是否符合SQLServer的命名規(guī)則:$table@table#_var_1orderdetails
2、order常用函數(shù)聚合函數(shù)字符串函數(shù)日期函數(shù)系統(tǒng)函數(shù)數(shù)學(xué)函數(shù)元數(shù)據(jù)函數(shù)安全函數(shù)游標(biāo)函數(shù)配置函數(shù)排名函數(shù)排名函數(shù)ROW_NUMBER():返回查詢結(jié)果每一行的序號(hào)。RANK():返回查詢結(jié)果每一行的排名,排名有可能會(huì)間斷。DENSE_RANK:返回查詢結(jié)果每一行的排名,排名沒(méi)有任何間斷。常用函數(shù)(練習(xí))思考:如何將一個(gè)數(shù)字轉(zhuǎn)換為一個(gè)字符串?如何截取字符串?如何根據(jù)一個(gè)人的出生年月,使用日期函數(shù)計(jì)算年齡?如何對(duì)一個(gè)數(shù)進(jìn)行取整?進(jìn)行四舍五入?常量常量:字符串常量數(shù)值常量日期常量uniqueidentifier常量注:引用數(shù)值常量不用單引
3、號(hào),引用日期、字符串常量時(shí)需要加單引號(hào)變量變量:在程序運(yùn)行過(guò)程中值是變化的量局部變量(以@開(kāi)頭;使用DECLARE語(yǔ)句聲明)【問(wèn)題】DECLARE@var1int,@var2moneySELECT@var1=50,@var2=$29.95SELECT@var1,@var2全局變量(也稱配置函數(shù),是系統(tǒng)定義的變量,以@@開(kāi)頭;用戶只能使用)例如:@@version@@rowcount練習(xí)2問(wèn)題:編寫(xiě)程序計(jì)算兩個(gè)整數(shù)之和運(yùn)算符算術(shù)運(yùn)算符(+、-、*、/、%)比較運(yùn)算符(=、>、<、>=、<=、<>、!=、!<、!>)邏輯運(yùn)算符(NOT
4、、OR、AND、IN、LIKE、BETWEEN、EXISTS)字符串連接運(yùn)算符(+)賦值運(yùn)算符(=)位運(yùn)算符(&、
5、、^、~)常用系統(tǒng)存儲(chǔ)過(guò)程存儲(chǔ)過(guò)程分為:系統(tǒng)存儲(chǔ)過(guò)程用戶定義的存儲(chǔ)過(guò)程常用存儲(chǔ)過(guò)程練習(xí):顯示Xk數(shù)據(jù)庫(kù)有哪些數(shù)據(jù)庫(kù)對(duì)象USEXkGOSP_HELPGO批處理批處理的特點(diǎn)一次發(fā)給數(shù)據(jù)庫(kù)服務(wù)器的所有的SQL語(yǔ)句,由GO作為結(jié)束標(biāo)志。編譯成一個(gè)可執(zhí)行單元——執(zhí)行計(jì)劃執(zhí)行時(shí),每次執(zhí)行計(jì)劃中的一條語(yǔ)句特別注意:如果在一個(gè)批處理中,某條語(yǔ)句存在語(yǔ)法錯(cuò)誤,SQLServer將不執(zhí)行批處理中的任何語(yǔ)句?!纠苛骺卣Z(yǔ)句【問(wèn)題】如何用S
6、QL語(yǔ)句編程實(shí)現(xiàn):求1+2+3+4+…+100=?編程思想:代碼:分析:WHILE、BEGIN…END、IF…ELSE…、GOTO的使用用法練習(xí)3編寫(xiě)程序,計(jì)算n!(n=10),并將結(jié)果顯示出來(lái)流控語(yǔ)句WAITFOR語(yǔ)句:WAITFORDELAY‘time’——延遲一段時(shí)間WAITFORTIME‘time’——等待到一個(gè)時(shí)刻流控語(yǔ)句CASE語(yǔ)句(開(kāi)關(guān)語(yǔ)句)【例】P115例3.32【練習(xí)】在Xk數(shù)據(jù)庫(kù)中顯示班級(jí)編碼、班級(jí)名稱和系部名稱(當(dāng)系部編碼為01時(shí),顯示系部名稱為“計(jì)算機(jī)系”;當(dāng)系部編碼為02時(shí),顯示系部名稱為“建筑系”;當(dāng)系
7、部編碼為03時(shí),顯示系部名稱為“旅游系”),要求使用CASE語(yǔ)句本章總結(jié)重點(diǎn)掌握:SQLServer中標(biāo)識(shí)符的命名規(guī)則學(xué)會(huì)使用局部變量和全局變量學(xué)會(huì)使用一些常用的函數(shù)流控語(yǔ)句學(xué)會(huì)編寫(xiě)簡(jiǎn)單的SQL程序課后任務(wù)思考與練習(xí):117頁(yè)1-6題