版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)七 Transact-SQL程序設(shè)計(jì)(2學(xué)時(shí))學(xué)號(hào):6100410235 姓名:鄭俊 班級(jí):計(jì)科103班 實(shí)驗(yàn)日期:2012-12-061實(shí)驗(yàn)?zāi)康模?) 掌握Transact-SQL的數(shù)據(jù)類型、常量變量、表達(dá)式等的概念和使用方法。(2) 掌握程序中注釋的基本概念和使用方法。(3) 掌握程序中的流程控制語(yǔ)句的使用方法。(4) 掌握SQL Server 2005中常用函數(shù)的用法。(5) 掌握游標(biāo)的概念和聲明方法,以及使用游標(biāo)進(jìn)行數(shù)據(jù)的查詢、修改、刪除操作等。2實(shí)驗(yàn)內(nèi)容(1) 選擇student_db數(shù)據(jù)庫(kù),輸入以下T-SQL代碼。DECLARE stu_name varchar(10)SELE
2、CT stu_name=姓名FROM student_infoWHERE 姓名 LIKE '張%'SELECT stu_name觀察顯示的結(jié)果,與student_info表中數(shù)據(jù)進(jìn)行比較,stu_name賦值的是SELECT結(jié)果集中的哪個(gè)數(shù)據(jù)?(2) 定義int型局部變量grademax、grademin、gradesum,在grade表中查找最高分、最低分和總分,分別賦給grademax、grademin和gradesum,并顯示。(3) 使用SET命令將某個(gè)查詢結(jié)果集記錄數(shù)目賦值給int型局部變量row。(4) 以下代碼在curriculum表中插入新記錄: DECLARE
3、 intCId int,intErrorCode intINSERT INTO curriculum(課程編號(hào),課程名稱,學(xué)分)VALUES('0006','VB程序設(shè)計(jì)',2) SELECT intCId=identity,intErrorCode=errorSELECT intCId,intErrorCode將該代碼段連續(xù)執(zhí)行兩次,觀察兩次顯示的信息及curriculum表中數(shù)據(jù)的變化,為什么前后兩次執(zhí)行時(shí)顯示的信息會(huì)不同?第一次:第二次:(5) 在student_db數(shù)據(jù)庫(kù)的student_info表中,以“性別”為分組條件,分別統(tǒng)計(jì)男生和女生人數(shù)。(6)
4、 在grade表中,使用適當(dāng)函數(shù)找出“高等數(shù)學(xué)”課程的最高分、最低分和平均分。(7) 定義一個(gè)datetime型局部變量studate,以存儲(chǔ)當(dāng)前日期。計(jì)算student_info表中的學(xué)生的年齡,并顯示學(xué)生的姓名、年齡。(8) 運(yùn)行以下代碼,寫出運(yùn)行結(jié)果。DECLARE a int,b intSET a=168SET b=73SELECT a & b,a|b,ab(9) 在局部變量stu_id中存儲(chǔ)了學(xué)號(hào)值。編寫代碼查詢學(xué)號(hào)為0001的學(xué)生的各科平均成績(jī),如果平均分³60,則顯示“你的成績(jī)及格了,恭賀你 !”,否則顯示“你的成績(jī)不及格”。(10) 運(yùn)行以下代碼段,寫出運(yùn)行的
5、結(jié)果。DECLARE counter intSET counter=1WHILE counter<10BEGINSELECT 'counter的值現(xiàn)在為: '+CONVERT(CHAR(2),counter)SET counter=counter+1END(11) 查詢grade表。如果分?jǐn)?shù)大于等于90,顯示A; 如果分?jǐn)?shù)大于等于80小于90,顯示B;如果分?jǐn)?shù)大于等于70小于80,顯示C;如果分?jǐn)?shù)大于等于60小于70,顯示D; 其他顯示E。(12) 計(jì)算grade表的分?jǐn)?shù)列的平均值。如果小于80,則分?jǐn)?shù)增加其值的5%;如果分?jǐn)?shù)的最高值超過95,則終止該操作。(13) 在s
6、tudent_db數(shù)據(jù)庫(kù)中,使用游標(biāo)查詢數(shù)據(jù)。 聲明一個(gè)stu_cursor游標(biāo),要求返回student_info表中性別為“男”的學(xué)生記錄,且該游標(biāo)允許前后滾動(dòng)和修改。 打開stu_cursor游標(biāo)。 獲取并顯示所有數(shù)據(jù)。 關(guān)閉該游標(biāo)。(14) 使用游標(biāo)修改數(shù)據(jù)。 打開stu_cursor游標(biāo)。 將姓馬的男同學(xué)的出生日期的年份加1。 關(guān)閉stu_cursor游標(biāo)。(15) 聲明游標(biāo)變量stu_c,使之關(guān)聯(lián)stu_cursor游標(biāo),利用stu_c查詢年齡在69月份出生的學(xué)生信息。declare stu_c cursor set stu_c=stu_cursordeclare stu_id ch
7、ar(4),stu_name char(8),stu_sex char(2),stu_age int,stu_depa nchar(1),stu_bdate datetimeopen stu_cfetch next from stu_c into stu_id,stu_name,stu_sex,stu_depa,stu_age,stu_bdatewhile FETCH_STATUS=0begin select stu_id as sno,stu_name as sname,stu_sex as sex,stu_depa as sdept,stu_age as sage,stu_bdate as
8、 birthdayfrom student_info where month(stu_bdate)>=6 and month(stu_bdate)<=9fetch next from stu_c into stu_id,stu_name,stu_sex,stu_depa,stu_age,stu_bdateendclose stu_cdeallocate stu_c(16) 使用系統(tǒng)存儲(chǔ)過程sp_cursor_list顯示在當(dāng)前作用域內(nèi)的游標(biāo)及其屬性。DECLARE Report CURSOREXEC master.dbo.sp_cursor_list cursor_return =
9、 Report OUTPUT, cursor_scope =2FETCH NEXT from ReportCLOSE ReportDEALLOCATE Report3實(shí)驗(yàn)思考(1) Transact-SQL語(yǔ)言的運(yùn)算符主要有哪些? 答:算術(shù)運(yùn)算符,賦值運(yùn)算符,位運(yùn)算符,比較運(yùn)算符,邏輯運(yùn)算符,字符串串聯(lián) 運(yùn)算符。(2) 流程控制語(yǔ)句與其他編程語(yǔ)言提供的語(yǔ)句有何差別? 答: BEGINEND也是流程控制語(yǔ)句需要用到的最基本關(guān)鍵字,用于將多個(gè)語(yǔ)句劃分成邏輯上的一部分。其實(shí)可以直接理解成Delphi的begin.end 或者C類語(yǔ)言的,用于按塊(block)順次執(zhí)行多條語(yǔ)句 IF.ELSE關(guān)鍵字實(shí)現(xiàn)
10、了非此既彼的邏輯。和高級(jí)語(yǔ)言中的IF.ELSE具有完全一樣的使用方法 在T-SQL的流程控制語(yǔ)句中,循環(huán)語(yǔ)句只有WHILE循環(huán),并沒有傳統(tǒng)高級(jí)語(yǔ)言的FOR和SWITCH循環(huán)。WHILE除了被用于流程控制語(yǔ)句的循環(huán)之外,還經(jīng)常被用于游標(biāo)之中。 WHILE關(guān)鍵字和高級(jí)語(yǔ)言中的WHILE關(guān)鍵字幾乎完全一樣。WHILE循環(huán)中可以利用BREAK和CONTINUE關(guān)鍵字對(duì)循環(huán)進(jìn)行控制。(3) 區(qū)分局部變量與全局變量的不同,思考全局變量的用處。答:全局變量是在所有函數(shù)之外聲明的變量,局部變量則是在函數(shù)體內(nèi)聲明的變量。全局變量放在內(nèi)存的全程數(shù)據(jù)區(qū),局部變量在棧上申請(qǐng)。全局?jǐn)?shù)據(jù)區(qū)分為兩部分全局?jǐn)?shù)據(jù)區(qū)和靜態(tài)數(shù)據(jù)區(qū),靜態(tài)數(shù)據(jù)區(qū)專門存放static變量。static的全局變量只在該文件范圍內(nèi)可見,不能用extern聲明為外部變
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度綠化工程承包合同
- 大班種子課件教學(xué)課件
- 2024山西勞動(dòng)合同范本
- 2024年度J企業(yè)衛(wèi)星通信技術(shù)服務(wù)合同
- 2024年店面續(xù)租協(xié)議:市中心
- 2024互聯(lián)網(wǎng)銷售涂料產(chǎn)品獨(dú)家代理合同
- 2024年工程進(jìn)度與安全合同
- 2024年建筑修正協(xié)議
- 2024年家用電器維修服務(wù)合同
- 2024雙方關(guān)于影視制作與發(fā)行委托合同
- 高考物理系統(tǒng)性復(fù)習(xí) (能力提高練) 第五節(jié) 實(shí)驗(yàn):探究小車速度隨時(shí)間變化的規(guī)律(附解析)
- 眼科護(hù)理中的孕婦與產(chǎn)婦護(hù)理
- 業(yè)主業(yè)主委員會(huì)通用課件
- 了解金融市場(chǎng)和金融產(chǎn)品
- 南京理工大學(xué)2015年613物理化學(xué)(含答案)考研真題
- 初中數(shù)學(xué)應(yīng)用題解題思路分享
- 安全生產(chǎn)科技創(chuàng)新與應(yīng)用
- 人工智能在文化傳承與遺產(chǎn)保護(hù)中的價(jià)值實(shí)現(xiàn)
- 2024年汽修廠開業(yè)計(jì)劃書
- ISTA標(biāo)準(zhǔn)-2A、2B、2C系列解讀(圖文)
- 日間手術(shù)應(yīng)急預(yù)案方案
評(píng)論
0/150
提交評(píng)論