實(shí)驗(yàn)7-Transact-SQL程序設(shè)計(jì)_第1頁(yè)
實(shí)驗(yàn)7-Transact-SQL程序設(shè)計(jì)_第2頁(yè)
實(shí)驗(yàn)7-Transact-SQL程序設(shè)計(jì)_第3頁(yè)
實(shí)驗(yàn)7-Transact-SQL程序設(shè)計(jì)_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

實(shí)驗(yàn)7Transact-SQL程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康恼莆誘ransact-SQL的數(shù)據(jù)類型、常量變量、表達(dá)式等概念。掌握SQLServer2005中常用函數(shù)的用法。掌握程序中注釋的根本概念和使用方法。了解程序中的流程控制語(yǔ)句。二、實(shí)驗(yàn)準(zhǔn)備1.了解函數(shù)的使用方法。2.了解系統(tǒng)提供的常用數(shù)學(xué)函數(shù)、日期和時(shí)間函數(shù)、字符串函數(shù)和數(shù)據(jù)類型轉(zhuǎn)換函數(shù)的用法。3.了解程序中注釋的語(yǔ)法格式。4.了解程序中的流程控制語(yǔ)句:IF-ELSE、CASE、WHILE等控制流語(yǔ)句。三、實(shí)驗(yàn)內(nèi)容和步驟1.在查詢分析器中,選擇studentsdb數(shù)據(jù)庫(kù),在學(xué)生表中查找姓“張〞的學(xué)生,并將該生姓名賦于變量@stu_name。提示:首先要定義變量@stu_name。2.定義int型局部變量@grademax、@grademin、@gradesum,在成績(jī)表中查找課程編號(hào)是“C002〞課程的最高分、最低分和總分,分別賦給@grademax、@grademin和@gradesum,并顯示。3.使用SET命令將查詢結(jié)果集記錄數(shù)目賦值給int型局部變量@row。給下面代碼中的劃線處填上適當(dāng)?shù)膬?nèi)容,以完成上述操作。DECLARE@rows____int_______SET_____@rows_______=(SELECTCOUNT(*)FROM成績(jī)表)_____SELECT______@rows--顯示@rows的值4.以下代碼在課程表中插入新記錄:DECLARE@intCIdint,@intErrorCodeintINSERTINTO課程表(課程編號(hào),課程名稱,學(xué)分)VALUES('0006','VB程序設(shè)計(jì)',2)SELECT@intCId=@@identity,@intErrorCode=@@errorSELECT@intCId,@intErrorCode將該代碼段連續(xù)執(zhí)行兩次,觀察兩次顯示的信息及課程表中數(shù)據(jù)的變化,為什么前后兩次執(zhí)行時(shí)顯示的信息會(huì)不同?提示:@@identity,@@error參看教材P172表9-25.在studentsdb數(shù)據(jù)庫(kù)的學(xué)生表中,以“性別〞為分組條件,分別統(tǒng)計(jì)男生和女生人數(shù)。提示:定義兩個(gè)變量,用SET分別賦值。6.在成績(jī)表中,使用適當(dāng)函數(shù)找出“高等數(shù)學(xué)〞課程的最高分、最低分和平均分,并分別賦予@grademax、@grademin、@gradesum。7.定義一個(gè)datetime型局部變量@studate,以存儲(chǔ)當(dāng)前日期。計(jì)算學(xué)生表中的學(xué)生的年齡,并顯示學(xué)生的姓名、年齡。在以下代碼的劃線局部填人適當(dāng)內(nèi)容,以實(shí)現(xiàn)上述功能。DECLARE___@studate____datetimeSET@studate=______GETDATE()_____--給@studate賦值為當(dāng)前日期SELECT姓名,___YEAR(GETDATE())-YEAR(出生日期)______AS年齡FROM學(xué)生表提示:計(jì)算年齡可參考教材表9-9和9-10相關(guān)函數(shù)。8.請(qǐng)用單行注釋將以下命令行所實(shí)現(xiàn)的功能予以注釋〔填入括號(hào)內(nèi)〕?!?-查找學(xué)生表中姓陳的人的姓名與家庭住址〕SELECT姓名,家庭地址FROM學(xué)生表WHERE姓名LIKE'陳%‘9.請(qǐng)用多行注釋將以下命令行所實(shí)現(xiàn)的功能予以注釋〔填入括號(hào)內(nèi)〕?!?*查找學(xué)生表中80后學(xué)生的姓名、性別、出生年月和家庭住址情況*/〕SELECT姓名,性別,出生年月,家庭地址FROM學(xué)生表WHEREYEAR(出生年月)>8010.在局部變量@stu_id記中存儲(chǔ)了學(xué)號(hào)值。編寫代碼查詢學(xué)號(hào)為0001的學(xué)生的各科平均成績(jī),如果平均分>=60那么顯示“你的成績(jī)及格了,恭賀你!!〞,否那么顯示“你的成績(jī)不及格〞。11.運(yùn)行以下代碼段,寫出運(yùn)行的結(jié)果。12.編寫程序查詢成績(jī)表。如果分?jǐn)?shù)大于等于90,顯示優(yōu)秀;如果分?jǐn)?shù)大于等于80小于90顯示良好;如果分?jǐn)?shù)大于等于70小于80顯示中等;如果分?jǐn)?shù)大于等于60小于70顯示及格,其他顯示不及格。13.計(jì)算grade表的分?jǐn)?shù)列的平均值。如果小于80,那么分?jǐn)?shù)增加其值的5%;如果分?jǐn)?shù)的最高值超過95,那么終止該操作。在以下代碼劃線處填入適當(dāng)?shù)膬?nèi)容以完成上述功能。WHILE(SELECTAVG(分?jǐn)?shù))FROM成績(jī)表)<80BEGINUPDATE成績(jī)表SET分?jǐn)?shù)=分?jǐn)?shù)*1.05IF(SELECTMAX(分?jǐn)?shù))FROM成績(jī)表)>95BREAKELSECONTINUEEND四、實(shí)驗(yàn)思考1.編寫代碼計(jì)算并顯示@n=1+2+3+…+20。代碼:DECLARE@sint,@nint,@tint,@cintSET@n=0SET@s=1SET@c=1SET@t=0WHILE@s<=20BEGINSET@t=@t+@cSET@c=@c+1SET@s=@s+1ENDSET@n=@n+@tSELECT@n2.區(qū)分局部變量與全局變量的不同,思考全局變量的用處。答:局部變量使用DECLARE語(yǔ)句定義,僅存在于聲明它的批處理、存儲(chǔ)過程或觸發(fā)器中,處理結(jié)束后,存儲(chǔ)在局部變量中的信息將喪失。通常局部變

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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)論