《數(shù)據(jù)庫(kù)SQL ServeSQLite教程》 教案 第7章 Transact-SQL應(yīng)用_第1頁(yè)
《數(shù)據(jù)庫(kù)SQL ServeSQLite教程》 教案 第7章 Transact-SQL應(yīng)用_第2頁(yè)
《數(shù)據(jù)庫(kù)SQL ServeSQLite教程》 教案 第7章 Transact-SQL應(yīng)用_第3頁(yè)
《數(shù)據(jù)庫(kù)SQL ServeSQLite教程》 教案 第7章 Transact-SQL應(yīng)用_第4頁(yè)
《數(shù)據(jù)庫(kù)SQL ServeSQLite教程》 教案 第7章 Transact-SQL應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)據(jù)庫(kù)SQLServeSQLite教程課程教案課程名稱:數(shù)據(jù)庫(kù)SQLServeSQLite教程課程號(hào):課程學(xué)分:2參考學(xué)時(shí):32課程性質(zhì):專業(yè)必修課適用專業(yè):計(jì)算機(jī)類專業(yè)上課時(shí)間:授課教師:負(fù)責(zé)人:審核單位:年月日-1-一、課程基本信息課程名稱數(shù)據(jù)庫(kù)SQLServeSQLite教程課程號(hào)課程性質(zhì)專業(yè)必修課開課部門課程負(fù)責(zé)人課程團(tuán)隊(duì)授課學(xué)期學(xué)分/學(xué)時(shí)2/32授課語(yǔ)言漢語(yǔ)先修課程數(shù)據(jù)庫(kù)SQLServeSQLite教程課程簡(jiǎn)介從理論實(shí)踐一體化角度出發(fā),介紹了數(shù)據(jù)庫(kù)的基本概念、理論、模型和方法,同時(shí)從知識(shí)技能的邏輯順序出發(fā),深入淺出地介紹了數(shù)據(jù)庫(kù)技術(shù)的相關(guān)內(nèi)容,使學(xué)生可以快速掌握數(shù)據(jù)庫(kù)系統(tǒng)的原理,應(yīng)用有關(guān)工具學(xué)習(xí)SQL,并在C#、Python等相關(guān)課程中應(yīng)用,在實(shí)際應(yīng)用中解決實(shí)際問題。授課班級(jí)

二、課程授課教案第7章,共11章講課主題Transact-SQL應(yīng)用學(xué)時(shí)2學(xué)時(shí)教學(xué)目標(biāo)從理論實(shí)踐一體化角度出發(fā),介紹了數(shù)據(jù)庫(kù)的基本概念、理論、模型和方法,同時(shí)從知識(shí)技能的邏輯順序出發(fā),深入淺出地介紹了數(shù)據(jù)庫(kù)技術(shù)的相關(guān)內(nèi)容,使學(xué)生可以快速掌握數(shù)據(jù)庫(kù)系統(tǒng)的原理,應(yīng)用有關(guān)工具學(xué)習(xí)SQL,并在C#、Python等相關(guān)課程中應(yīng)用,在實(shí)際應(yīng)用中解決實(shí)際問題。教學(xué)重點(diǎn)、難點(diǎn)Transact-SQL簡(jiǎn)稱T-SQL,是標(biāo)準(zhǔn)SQL語(yǔ)言的增強(qiáng)版。它對(duì)SQL-92標(biāo)準(zhǔn)進(jìn)行了幾種擴(kuò)展以增強(qiáng)其性能,為處理大量數(shù)據(jù)提供必要的結(jié)構(gòu)化處理能力,并作為應(yīng)用程序與SQLServer溝通的主要語(yǔ)言。T-SQL提供標(biāo)準(zhǔn)SQL的數(shù)據(jù)定義、操作和控制的功能,加上延伸的函數(shù)、系統(tǒng)預(yù)存程序以及程序設(shè)計(jì)結(jié)構(gòu),讓程序設(shè)計(jì)更有彈性。教學(xué)設(shè)計(jì)授課提綱及重難點(diǎn)分析教學(xué)方法及課程思政設(shè)計(jì)教學(xué)時(shí)間7.1T-SQL運(yùn)算符與表達(dá)式運(yùn)算符是一種符號(hào),用來指定在一個(gè)或多個(gè)表達(dá)式中執(zhí)行的操作。SQLServer2008R2的運(yùn)算符有算術(shù)運(yùn)算符、位運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符、字符串連接運(yùn)算符、賦值運(yùn)算符等。1.算術(shù)運(yùn)算符算術(shù)運(yùn)算符在兩個(gè)表達(dá)式間執(zhí)行數(shù)學(xué)運(yùn)算,這兩個(gè)表達(dá)式可以是任何數(shù)字?jǐn)?shù)據(jù)類型。算術(shù)運(yùn)算符有+(加)、-(減)、*(乘)、/(除)和%(求模)5種運(yùn)算。+(加)和-(減)運(yùn)算符也可用于對(duì)datetime及smalldatetime值進(jìn)行算術(shù)運(yùn)算。2.位運(yùn)算符位運(yùn)算符用于對(duì)兩個(gè)表達(dá)式進(jìn)行的位操作,這兩個(gè)表達(dá)式可為整型或與整型兼容的數(shù)據(jù)類型。SQL中的位運(yùn)算不但可以取出各種值,而且還可以對(duì)數(shù)據(jù)進(jìn)行排序。3.比較運(yùn)算符比較運(yùn)算符用于測(cè)試兩個(gè)表達(dá)式的值是否相同,運(yùn)算結(jié)果為“true”或“false”。4.邏輯運(yùn)算符邏輯運(yùn)算符用于對(duì)某個(gè)條件進(jìn)行測(cè)試,運(yùn)算結(jié)果為“true”或“false”。5.字符串連接運(yùn)算符字符串連接運(yùn)算符通過運(yùn)算符“+”實(shí)現(xiàn)兩個(gè)或多個(gè)字符串的連接運(yùn)算。6.賦值運(yùn)算符在給局部變量賦值的set和select語(yǔ)句中使用的“=”運(yùn)算符稱為賦值運(yùn)算符。賦值運(yùn)算符用于將表達(dá)式的值賦予另外一個(gè)變量,也可以使用賦值運(yùn)算符在列標(biāo)題和為列定義值的表達(dá)式之間建立關(guān)系。30min7.2T-SQL的變量變量是執(zhí)行程序中必不可少的部分,主要用來在程序運(yùn)行過程中存儲(chǔ)和傳遞數(shù)據(jù)。變量其實(shí)就是內(nèi)存中的一個(gè)存儲(chǔ)區(qū)域,存儲(chǔ)在這個(gè)區(qū)域中的數(shù)據(jù)就是變量的值,由系統(tǒng)或用戶定義并賦值。T-SQL語(yǔ)句中的變量有兩種:局部變量和全局變量。這兩種變量在使用方法和具體意義上均不相同。7.2.1局部變量1.概念及其用途局部變量是作用域局限在一定范圍內(nèi)的變量,是用戶自定義的變量。一般來說,局部變量的使用范圍局限于定義它的批處理內(nèi)。定義它的批處理中的SQL語(yǔ)句可以引用這個(gè)局部變量,直到批處理結(jié)束,這個(gè)局部變量的生命周期也就結(jié)束了。局部變量在程序中通常用來存儲(chǔ)從表中查詢到的數(shù)據(jù)或在程序執(zhí)行過程中用于暫存變量。通常將其用于下面3種情況:(1)作為計(jì)數(shù)器,計(jì)算循環(huán)執(zhí)行的次數(shù)或控制循環(huán)執(zhí)行的次數(shù)。(2)保存數(shù)據(jù)值以供控制流語(yǔ)句測(cè)試。(3)保存由存儲(chǔ)過程返回代碼返回的數(shù)據(jù)值。2.聲明及其賦值1)聲明局部變量在使用一個(gè)局部變量之前,必須先聲明該變量。其語(yǔ)法格式如下:declare@變量名變量類型[,...n]2)局部變量賦值局部變量被創(chuàng)建之后,系統(tǒng)將其初始值設(shè)為“null”。若要改變局部變量的值,可以使用set語(yǔ)句或select語(yǔ)句給局部變量重新賦值。select語(yǔ)句的語(yǔ)法格式如下:select@變量名=表達(dá)式[,...]set語(yǔ)句的語(yǔ)法格式如下:set@變量名=表達(dá)式3.顯示局部變量的值可以使用select或print語(yǔ)句顯示局部變量的值。其語(yǔ)法格式如下:select@變量名[,...n]print@變量名兩者的區(qū)別在于,select語(yǔ)句以表格方式顯示一個(gè)或多個(gè)變量的值,而print語(yǔ)句在消息框中顯示一個(gè)變量的值。7.2.2全局變量全局變量是以“@@”開頭,由系統(tǒng)預(yù)先定義并負(fù)責(zé)維護(hù)的變量。也可以把全局變量看成是一種特殊形式的函數(shù)。全局變量不可以由用戶隨意建立和修改,其作用范圍也并不局限于某個(gè)程序,而是任何程序均可調(diào)用。常用的全局變量有30多個(gè),通常用來存儲(chǔ)一些SQLServer的配置值和效能統(tǒng)計(jì)數(shù)字,用戶可以通過查詢?nèi)肿兞縼頇z測(cè)系統(tǒng)的參數(shù)值或執(zhí)行查詢命令后的狀態(tài)值。在全局變量的使用過程中要注意,全局變量是由SQLServer服務(wù)器定義的,用戶只能使用全局變量,且在引用全局變量時(shí),必須以“@@”開頭。另外,局部變量的名稱不能與全局變量的名稱相同,否則就會(huì)在應(yīng)用程序中出錯(cuò)。30min7.3程序控制語(yǔ)句SQLServer支持結(jié)構(gòu)化的編程方法,結(jié)構(gòu)化編程中程序流程控制的三大結(jié)構(gòu)是順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。T-SQL提供了實(shí)現(xiàn)這3種結(jié)構(gòu)的流程控制語(yǔ)句,使用這些流程控制語(yǔ)句可以控制命令的執(zhí)行順序,以便更好地組織程序。7.3.1begin…end語(yǔ)句begin…end語(yǔ)句相當(dāng)于其他語(yǔ)言中的復(fù)合語(yǔ)句,如C語(yǔ)言中的{}。它用于將多條T-SQL語(yǔ)句封裝為一個(gè)整體的語(yǔ)句塊,即將begin…end內(nèi)的所有T-SQL語(yǔ)句視為一個(gè)單元執(zhí)行。在實(shí)際應(yīng)用中,begin…end語(yǔ)句一般與if…else、while等語(yǔ)句聯(lián)用,當(dāng)判斷條件符合需要執(zhí)行兩個(gè)或多個(gè)語(yǔ)句時(shí),就需要使用begin…end語(yǔ)句將這些語(yǔ)句封裝為一個(gè)語(yǔ)句塊。begin…end語(yǔ)句塊允許嵌套。7.3.2單條件分支語(yǔ)句if…else語(yǔ)句是條件判斷語(yǔ)句,用以實(shí)現(xiàn)選擇結(jié)構(gòu)。當(dāng)if后的條件成立時(shí)就執(zhí)行其后的T-SQL語(yǔ)句,條件不成立時(shí)執(zhí)行else語(yǔ)句后的T-SQL語(yǔ)句。其中,else子句是可選項(xiàng),如果沒有else子句,當(dāng)條件不成立時(shí)則執(zhí)行if語(yǔ)句后的其他語(yǔ)句。7.3.3多條件分支語(yǔ)句1.if多條件分支if…elseif…else語(yǔ)句用于多條件分支執(zhí)行。其語(yǔ)法格式如下:if<條件表達(dá)式>{SQL語(yǔ)句塊|程序塊}elseif<條件表達(dá)式>{SQL語(yǔ)句塊|程序塊}…else{SQL語(yǔ)句塊|程序塊}2.case多條件分支1)簡(jiǎn)單case語(yǔ)句其語(yǔ)法格式如下:case<運(yùn)算式>when<運(yùn)算式>then<運(yùn)算式>...when<運(yùn)算式>then<運(yùn)算式>[else<運(yùn)算式>]End2)搜索case語(yǔ)句其語(yǔ)法格式如下:casewhen<條件表達(dá)式>then<運(yùn)算式>...when<條件表達(dá)式>then<運(yùn)算式>[else<運(yùn)算式>]End7.3.4循環(huán)語(yǔ)句while語(yǔ)句用于實(shí)現(xiàn)循環(huán)結(jié)構(gòu),其功能是在滿足循環(huán)條件的情況下,重復(fù)執(zhí)行T-SQL語(yǔ)句或語(yǔ)句塊。當(dāng)while后面的條件為真時(shí),就重復(fù)執(zhí)行begin…end之間的語(yǔ)句塊。while語(yǔ)句塊中的continue和break是可選項(xiàng)。若有continue語(yǔ)句,則其功能是跳過continue后的語(yǔ)句,執(zhí)行下一次循環(huán)條件測(cè)試。若遇到break語(yǔ)句,則其功能是立即終止循環(huán),結(jié)束整個(gè)while語(yǔ)句的執(zhí)行,并繼續(xù)執(zhí)行while語(yǔ)句后的其他語(yǔ)句。7.3.5goto語(yǔ)句goto語(yǔ)句是轉(zhuǎn)向語(yǔ)句,讓程序跳轉(zhuǎn)到一個(gè)指定的標(biāo)簽處并執(zhí)行其后的代碼。goto語(yǔ)句和標(biāo)簽可以在程序、批處理和語(yǔ)句塊中的任意位置使用,也可以嵌套使用。其語(yǔ)法格式如下:定義標(biāo)簽label:改變執(zhí)行g(shù)otolabel參數(shù)說明:若有g(shù)oto語(yǔ)句指向label標(biāo)簽,則其為處理的起點(diǎn)。標(biāo)簽必須符合標(biāo)識(shí)符規(guī)則。7.3.6return語(yǔ)句return語(yǔ)句用于結(jié)束當(dāng)前程序的執(zhí)行,無(wú)條件地終止一個(gè)查詢、存儲(chǔ)過程或批處理,返回到上一個(gè)調(diào)用它的程序或其他程序;在括號(hào)內(nèi)可指定一個(gè)返回值。其語(yǔ)法格式如下:return[integer_expression]參數(shù)說明:integer_expression為返回的整型值。存儲(chǔ)過程可以給調(diào)用過程或應(yīng)用程序返回整型值。7.3.7waitfor語(yǔ)句waitfor語(yǔ)句用于在達(dá)到指定時(shí)間或時(shí)間間隔之前阻止執(zhí)行批處理、存儲(chǔ)過程或事務(wù),直到所設(shè)定的時(shí)間已到或等待了指定的時(shí)間間隔之后才繼續(xù)往下運(yùn)行。其語(yǔ)法格式如下:waitfordelay等待時(shí)間|time完成時(shí)間7.3.8注釋語(yǔ)句在T-SQL中可以使用兩類注釋符。ANSI標(biāo)準(zhǔn)的注釋符“--”用于單行注釋,/**/用于多行注釋。1.單行注釋其語(yǔ)法格式如下:--text_of_comment參數(shù)說明:兩個(gè)連字符(--)是SQL-92標(biāo)準(zhǔn)的注釋指示符。text_of_comment為包含注釋文本的字符串。2.多行注釋其語(yǔ)法格式如下:/*text_of_comment*/參數(shù)說明:text_of_comment為包含注釋文本的字符串7.3.9使用腳本和批處理1.腳本腳本是存儲(chǔ)在文件中的一系列SQL語(yǔ)句,即一系列按順序提交的批處理。使用腳本可以將創(chuàng)建和維護(hù)數(shù)據(jù)庫(kù)時(shí)的操作步驟保存為一個(gè)磁盤文件,文件的擴(kuò)展名為.sql。將T-SQL語(yǔ)句保存為腳本,可以建立起可再用的模塊化代碼,還可以在不同的計(jì)算機(jī)之間傳送T-SQL語(yǔ)句,使兩臺(tái)計(jì)算機(jī)執(zhí)行同樣的操作。2.批處理批處理是包含一個(gè)或多個(gè)T-SQL語(yǔ)句的組,從應(yīng)用程序一次性地發(fā)送到MicrosoftSQLServer執(zhí)行。SQLServer將批處理語(yǔ)句編譯成一個(gè)可執(zhí)行單元,此單元稱為執(zhí)行計(jì)劃。編譯錯(cuò)誤(如語(yǔ)法錯(cuò)誤)使執(zhí)行計(jì)劃無(wú)法編譯,從而導(dǎo)致批處理中的任何語(yǔ)句均無(wú)法執(zhí)行。30min7.4自定義函數(shù)用戶可以根據(jù)自己的需要自定義函數(shù)。用戶自定義函數(shù)不能用于執(zhí)行一系列改變數(shù)據(jù)庫(kù)狀態(tài)的操作,但可以像系統(tǒng)函數(shù)那樣在查詢或存儲(chǔ)過程等程序段中使用,也可以像存儲(chǔ)過程一樣通過execute命令來執(zhí)行。用戶自定義函數(shù)中存儲(chǔ)了一個(gè)T-SQL例程,可以返回一定的值。在SQLServer中根據(jù)函數(shù)返回值形式的不同將用戶自定義函數(shù)分為以下類型:(1)標(biāo)量函數(shù)(ScalarFunction):返回單一的數(shù)據(jù)值。(2)返回?cái)?shù)據(jù)集(Rowset)的用戶自定義函數(shù):返回一個(gè)table類型的數(shù)據(jù)集,依定義語(yǔ)法不同分為兩類:行數(shù)據(jù)集函數(shù)和多語(yǔ)句數(shù)據(jù)集函數(shù)。7.4.1創(chuàng)建自定義函數(shù)標(biāo)量函數(shù)返回單一的數(shù)據(jù)值,其類型可以是除了text、ntext、image、cursor、rowversion(timestamp)之外的所有類型。創(chuàng)建標(biāo)量函數(shù)的語(yǔ)法格式如下:createfunction[owner_name.]function_name([{@parameter_name[as]scalar_paramet

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論