




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
工作任務(wù)1流程控制語句工作任務(wù)2函數(shù)情境總結(jié)
練習(xí)題
Transact-SQL(T-SQL)提供稱為控制流語言的特殊關(guān)鍵字,用于控制Transact-SQL語句、語句塊和存儲過程的執(zhí)行流。這些關(guān)鍵字可用于臨時Transact-SQL語句、批處理和存儲過程中。
若不使用控制流語言,則各Transact-SQL語句按其出現(xiàn)的順序分別執(zhí)行??刂屏髡Z言使用與程序設(shè)計(jì)相似的構(gòu)造使語句得以互相連接、關(guān)聯(lián)和相互依存。工作任務(wù)1流程控制語句
1.標(biāo)識符
數(shù)據(jù)庫對象的名稱即其標(biāo)識符。
2.注釋
3.批處理
批處理是由一個或多個T-SQL語句組成的,應(yīng)用程序?qū)⑦@些語句作為一個單元一次性地提交給SQLServer,并由SQLServer編譯成一個執(zhí)行計(jì)劃,然后作為一個整體來執(zhí)行。
4.?dāng)?shù)據(jù)類型
5.常量
6.變量
變量是指在程序的執(zhí)行過程中可以改變的量,它可以保存特定類型的值。
例6-1:將成績信息表中學(xué)號為“200606001”的學(xué)生的分?jǐn)?shù)賦值給變量@fenshu,并將該變量的值顯示在結(jié)果窗口中。
執(zhí)行如下命令,運(yùn)行結(jié)果如圖6-1所示。圖6-1例6-1運(yùn)行結(jié)果
7.運(yùn)算符和表達(dá)式
運(yùn)算符是一種符號,用來指定要在一個或者多個表達(dá)式中執(zhí)行的操作。
1)算術(shù)運(yùn)算符
2)賦值運(yùn)算符
3)字符串連接運(yùn)算符
4)比較運(yùn)算符
5)邏輯運(yùn)算符子任務(wù)1順序結(jié)構(gòu)
順序結(jié)構(gòu)控制語句包括BEGIN…END語句塊定義語句、PRINT返回客戶端消息語句、WAITFOR等待語句和RETURN返回語句。本子工作任務(wù)介紹這四種語句在順序結(jié)構(gòu)中的應(yīng)用。
1.定義語句塊
BEGIN…END用來表示一個語句塊,凡是在BEGIN與END之間的程序都屬于同一個流程控制,通常都是與IF…ELSE或WHILE等一起使用的。
2.返回客戶端消息語句
PRINT語句的功能是將用戶定義的消息返回客戶端。
3.等待語句
WAITFOR語句是等待語句,該語句可以指定它以后的語句在某個時間間隔之后執(zhí)行,或未來的某一時間執(zhí)行。語法如下:
WAITFOR{DELAY‘time’|TIME‘time’}
參數(shù)含義:
DELAY‘time’是指定SQLServer等待的時間間隔,最長可達(dá)24小時。
TIME‘time’是指定SQLServer等待到某一時刻。
4.返回語句
【任務(wù)1】WAITFOR語句的應(yīng)用:使用WAITFORTIME語句,以便在晚上10:30執(zhí)行存儲過程update_all_stats。
操作步驟如下:
①在查詢窗口中輸入以下命令文本:
BEGIN
WAITFORTIME‘22:30’
EXECUTEupdate_all_stats
END
②單擊【執(zhí)行】按鈕即可。
【任務(wù)2】RETURN語句的應(yīng)用:顯示如果在執(zhí)行findjobs時沒有給出用戶名作為參數(shù),RETURN則將一條消息發(fā)送到用戶的屏幕上后從過程中退出;如果給出用戶名,將從適當(dāng)?shù)南到y(tǒng)表中檢索由該用戶在當(dāng)前數(shù)據(jù)庫內(nèi)創(chuàng)建的所有對象名。子任務(wù)2分支結(jié)構(gòu)
分支結(jié)構(gòu)控制語句包括IF條件語句、CASE判斷語句和GOTO無條件跳轉(zhuǎn)語句。本子任務(wù)介紹這三種語句在分支結(jié)構(gòu)中的應(yīng)用。1.?IF條件
2.?CASE判斷語句
3.無條件轉(zhuǎn)移語句
【任務(wù)1】IF語句的應(yīng)用:刪除滿足條件的學(xué)生記錄。
操作步驟如下:
①在查詢窗口中輸入以下命令文本:
USE班級管理系統(tǒng)
GO
IFEXISTS
(SELECT*FROM學(xué)生信息表WHERE學(xué)號='2007110102')
BEGIN
DELETE學(xué)生信息表
WHERE學(xué)號=‘2007110102’
PRINT‘學(xué)號=2007110102已被刪除’
END
②單擊【執(zhí)行】按鈕,結(jié)果如圖6-2所示。圖6-2子任務(wù)1的執(zhí)行結(jié)果
【任務(wù)2】IF語句的應(yīng)用:在屏幕上顯示成績信息表中的成績及格情況。
【任務(wù)3】CASE語句的應(yīng)用:在學(xué)生信息表中利用學(xué)號進(jìn)行系別說明并排序。
①在查詢窗口中輸入以下命令文本:
Use班級管理系統(tǒng)
select姓名,系別=
casesubstring(學(xué)號,5,1)
when‘1’then‘會計(jì)系’
when‘3’then‘計(jì)算機(jī)系’
when‘4’then‘機(jī)電系’
end
from學(xué)生信息表
orderby學(xué)號
②單擊【執(zhí)行】按鈕,得到結(jié)果如圖6-3所示。圖6-3任務(wù)3執(zhí)行結(jié)果
【任務(wù)4】CASE語句的應(yīng)用:根據(jù)“學(xué)生信息表”中的學(xué)生出生日期范圍來評定學(xué)生受教育的早晚。
單擊【執(zhí)行】按鈕,得到結(jié)果如圖6-4所示。圖6-4任務(wù)4執(zhí)行結(jié)果
【任務(wù)5】GOTO語句的應(yīng)用:利用GOTO語句計(jì)算0~100之間所有數(shù)的和。子任務(wù)3循環(huán)結(jié)構(gòu)
循環(huán)結(jié)構(gòu)控制語句包括WHILE循環(huán)語句、BREAK結(jié)束循環(huán)語句和CONTINUE跳到下一次循環(huán)語句。本子任務(wù)介紹這三種語句在循環(huán)結(jié)構(gòu)中的應(yīng)用。
【任務(wù)1】WHILE語句的應(yīng)用:計(jì)算1~100之間所有偶數(shù)之和,但是如果和大于2000,則立刻跳出循環(huán)并輸出結(jié)果。函數(shù)對于任何程序設(shè)計(jì)語言來說都是非常關(guān)鍵的組成部分。SQLServer2008不僅提供了系統(tǒng)函數(shù),而且允許用戶創(chuàng)建自定義的函數(shù)。系統(tǒng)函數(shù)使得用戶可以訪問SQLServer2008系統(tǒng)表中的信息,而用戶自定義函數(shù)是接受參數(shù)、執(zhí)行操作并將操作結(jié)果以值的形式返回的子程序。本工作任務(wù)是對T-SQL語言中的函數(shù)的應(yīng)用。工作任務(wù)2函數(shù)子任務(wù)1系統(tǒng)函數(shù)
SQLServer2008提供的函數(shù)分為以下幾類:字符串函數(shù)、日期函數(shù)、系統(tǒng)函數(shù)、聚合函數(shù)、數(shù)學(xué)函數(shù)、元數(shù)據(jù)函數(shù)、安全函數(shù)、行集函數(shù)、游標(biāo)函數(shù)、配置函數(shù)、文本和圖像函數(shù)。本工作任務(wù)是對T-SQL語言提供的系統(tǒng)函數(shù)的應(yīng)用。
1.行集函數(shù)
行集函數(shù)可以在T-SQL語句中當(dāng)作表引用來返回對象。
2.聚合函數(shù)
聚合函數(shù)用于對一組值進(jìn)行計(jì)算并返回一個單一的值。
3.?dāng)?shù)學(xué)函數(shù)
算術(shù)函數(shù)(例如ABS、CEILING、DEGREES、FLOOR、POWER、RADIANS和SIGN)返回與輸入值具有相同數(shù)據(jù)類型的值。
4.字符串函數(shù)
字符串函數(shù)對字符串進(jìn)行操作,以下列出SQLServer的字符串函數(shù)及簡要說明和示例。
5.日期函數(shù)
日期和時間函數(shù)對日期和時間輸入值執(zhí)行操作,并返回一個字符串、數(shù)字值或日期和時間值。
6.元數(shù)據(jù)函數(shù)
元數(shù)據(jù)函數(shù)用于返回有關(guān)數(shù)據(jù)庫和數(shù)據(jù)庫對象的信息。
7.系統(tǒng)函數(shù)
系統(tǒng)函數(shù)用于獲得有關(guān)服務(wù)器、用戶、數(shù)據(jù)庫狀態(tài)等系統(tǒng)信息。
【任務(wù)1】AVG函數(shù)的應(yīng)用:統(tǒng)計(jì)所有學(xué)生成績的平均值。
操作步驟如下:
①在查詢窗口中輸入以下命令文本:
USE班級管理系統(tǒng)
SELECTAVG(成績)as平均成績
FROM成績信息表
GO
②單擊【執(zhí)行】按鈕。
【任務(wù)2】ABS函數(shù)的應(yīng)用:計(jì)算“-8.5”的絕對值。
【任務(wù)3】LEFT函數(shù)的應(yīng)用:取“CHINA”字符串的左邊兩位字符。
【任務(wù)4】REPLACE函數(shù)的應(yīng)用:字符串替換。
【任務(wù)5】DATEDIFF函數(shù)的應(yīng)用:計(jì)算“出生日期”和當(dāng)前日期之間經(jīng)過了多少天。
【任務(wù)6】COL_LENGTH函數(shù)的應(yīng)用:返回“學(xué)生信息表”中“學(xué)號”列的定義長度。
【任務(wù)7】IDENTITY函數(shù)的應(yīng)用:將“學(xué)生信息表”中學(xué)號的前四位是“2008”的所有行都插入到名為“學(xué)生2008”的新表中。使用IDENTITY函數(shù)在“學(xué)生”表中創(chuàng)建“序號”標(biāo)識列,其值從100開始。子任務(wù)2自定義函數(shù)
SQLServer2008不僅提供了系統(tǒng)函數(shù),而且允許用戶創(chuàng)建自定義的函數(shù)。用戶自定義函數(shù)可以接受參數(shù)、執(zhí)行操作并將操作結(jié)果以值的形式返回到子程序。本子任務(wù)是對自定義函數(shù)的應(yīng)用與管理。
1.用戶自定義函數(shù)概述
用戶在編寫程序的過程中除了可以調(diào)用系統(tǒng)函數(shù)外,還可以根據(jù)自己的需要自定義函數(shù)。
2.用戶自定義函數(shù)的創(chuàng)建
1)創(chuàng)建標(biāo)量函數(shù)
標(biāo)量函數(shù)往往根據(jù)輸入?yún)?shù)值的不同來獲得不同的函數(shù)值,在標(biāo)量函數(shù)中可以使用多個輸入?yún)?shù),而函數(shù)的返回值卻只能有一個。
2)內(nèi)嵌表值函數(shù)
該函數(shù)返回的都是一個表(table),而不是一個標(biāo)量數(shù)據(jù)。返回表值函數(shù)可以提供參數(shù)化視圖功能,可用在T-SQL查詢中允許有表或視圖表達(dá)式的地方。
3)多語句表值函數(shù)
多語句表值函數(shù)也是返回表的函數(shù),內(nèi)嵌表值函數(shù)返回的是單個SELECT語句的結(jié)果集。
3.用戶自定義函數(shù)調(diào)用
函數(shù)創(chuàng)建成功后,就可以調(diào)用函數(shù)了。
4.修改或刪除用戶定義函數(shù)的語句
【任務(wù)1】
自定義函數(shù)oldyear的應(yīng)用:在“班級管理系統(tǒng)”數(shù)據(jù)庫中,創(chuàng)建名為“oldyear”的函數(shù),用于計(jì)算學(xué)生的年齡。
【任務(wù)2】
自定義標(biāo)量函數(shù)max2的應(yīng)用:創(chuàng)建一個標(biāo)量函數(shù),該函數(shù)返回兩個參數(shù)中的最大值。
【任務(wù)3】
內(nèi)嵌表值函數(shù)“stuxi”的應(yīng)用:創(chuàng)建一個名為“stuxi”的函數(shù)用于返回學(xué)生信息表中屬于同一個系的學(xué)生的部分信息。
【任務(wù)4】多語句表值函數(shù)f_stu的應(yīng)用:在“班級管理系統(tǒng)”數(shù)據(jù)庫中創(chuàng)建一個多語句表值自定義函數(shù),它可以返回學(xué)生信息表的姓名或系別與姓名的組合(這個取決于用戶提供的參數(shù))。
【任務(wù)5】
調(diào)用標(biāo)量函數(shù)max2:使用EXEC語句調(diào)用max2函數(shù),參數(shù)的標(biāo)識次序與函數(shù)定義中的參數(shù)標(biāo)識次序不同。
【任務(wù)6】
調(diào)用內(nèi)聯(lián)表值函數(shù)stuxi:調(diào)用stuxi,返回某一院系的學(xué)生情況。本情境主要介紹T-SQL的語言基礎(chǔ)。通過示例介紹了流程控制語句和函數(shù)的用法;包括全局變量、用戶自定義變量、各種控制語句、系統(tǒng)函數(shù)及用戶自定義函數(shù)的用法。情境總結(jié)填空題
1.規(guī)則是一種約束,用于執(zhí)行一些與CHECK約束相同的功能。一個列只能應(yīng)用一個
,但可以應(yīng)用多個
。
2.在學(xué)生
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商務(wù)用酒合同協(xié)議
- 正規(guī)地?cái)偨?jīng)濟(jì)合同協(xié)議
- 含稅銷售合同協(xié)議
- 商標(biāo)代理公司合同協(xié)議
- 商業(yè)秘密協(xié)議英文合同
- 商場店面轉(zhuǎn)兌合同協(xié)議
- 商場和餐飲商家合同協(xié)議
- 德國租車位合同協(xié)議
- 商業(yè)產(chǎn)品買賣合同協(xié)議
- 售樓處購房合同定金協(xié)議
- 人工智能對國家安全戰(zhàn)略的影響
- 中藥藥理學(xué)實(shí)驗(yàn)講義2
- 14J936變形縫建筑構(gòu)造
- 果樹病蟲害生物防治技術(shù)規(guī)程
- 行政復(fù)議法-形考作業(yè)3-國開(ZJ)-參考資料
- 2024年山東濱州市屬事業(yè)單位招考公開引進(jìn)高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
- 鋼軌超聲波探傷70°探頭詳解
- 外科常見手術(shù)備皮
- 專項(xiàng)債申報(bào)操作流程及項(xiàng)目評審細(xì)則(詳細(xì)版)
- 安全生產(chǎn)責(zé)任制培訓(xùn)課件
- 裝修安全措施方案
評論
0/150
提交評論