數(shù)據(jù)庫(kù)實(shí)驗(yàn)七河南工業(yè)大學(xué)_第1頁(yè)
數(shù)據(jù)庫(kù)實(shí)驗(yàn)七河南工業(yè)大學(xué)_第2頁(yè)
數(shù)據(jù)庫(kù)實(shí)驗(yàn)七河南工業(yè)大學(xué)_第3頁(yè)
數(shù)據(jù)庫(kù)實(shí)驗(yàn)七河南工業(yè)大學(xué)_第4頁(yè)
數(shù)據(jù)庫(kù)實(shí)驗(yàn)七河南工業(yè)大學(xué)_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、 實(shí)驗(yàn)成績(jī)數(shù)據(jù)庫(kù)系統(tǒng)原理及應(yīng)用實(shí)驗(yàn)報(bào)告 (七) 專業(yè)班級(jí): 計(jì)科1102班 學(xué) 號(hào): 201116910809 姓 名: 曹斌 指導(dǎo)教師: 蘇小玲 2013 年 11 月 25 日實(shí)驗(yàn)七 名稱: SQL Server觸發(fā)器和游標(biāo) 一、實(shí)驗(yàn)內(nèi)容及要求1.創(chuàng)建滿足下述要求的DML觸發(fā)器(前觸發(fā)器和后觸發(fā)器均可),并驗(yàn)證觸發(fā)器執(zhí)行情況。任務(wù)1:限制學(xué)生所在系的取值范圍為計(jì)算機(jī)系,信息管理系,數(shù)學(xué)系,通信工程系。任務(wù)2:限制每個(gè)學(xué)期所開(kāi)設(shè)的課程總學(xué)分在2030范圍內(nèi)。任務(wù)3:限制每個(gè)學(xué)生每學(xué)期選課門數(shù)不能超過(guò)6門(設(shè)只針對(duì)單行插入操作)任務(wù)4:限制不能刪除有人選的課程 2.創(chuàng)建滿足下述要求的游標(biāo)任務(wù)1

2、:查詢java課程的考試情況,并按教材11-19所示樣式顯示結(jié)果數(shù)據(jù)。任務(wù)2:統(tǒng)計(jì)每個(gè)系的男生人數(shù)和女生人數(shù),并按教材11-20所示樣式顯示結(jié)果數(shù)據(jù)。任務(wù)3:列出每個(gè)系的學(xué)生信息,要求首先列出一個(gè)系的系名,然后在該系名下列出本系學(xué)生的姓名和性別,以此類推,直至列出全部系。要求按教材11-21所示樣式顯示結(jié)果數(shù)據(jù)。2、 實(shí)驗(yàn)?zāi)康恼莆沼|發(fā)器的概念;掌握觸發(fā)器創(chuàng)建方法;掌握游標(biāo)的概念;掌握游標(biāo)的使用方法。3 實(shí)驗(yàn)步驟及運(yùn)行結(jié)果1.創(chuàng)建滿足下述要求的DML觸發(fā)器(前觸發(fā)器和后觸發(fā)器均可),并驗(yàn)證觸發(fā)器執(zhí)行情況。任務(wù)1:限制學(xué)生所在系的取值范圍為計(jì)算機(jī)系,信息管理系,數(shù)學(xué)系,通信工程系。create t

3、rigger tri_Insertsdept on Student after insert as if exists(select * from inserted i where i.Sdept!=計(jì)算機(jī)系and i.Sdept!=信息管理系 and i.Sdept!=數(shù)學(xué)系and i.Sdept!=通信工程系) Begin print你所插入的學(xué)生的系被限制! rollback end goinsert into student values (080000,童彤,女,1990-05-01,服裝設(shè)計(jì),服裝設(shè)計(jì)系)insert into student values(080000,顧城北,男

4、,1990-06-01,高級(jí)編程,計(jì)算機(jī)系) 任務(wù)2:限制每個(gè)學(xué)期所開(kāi)設(shè)的課程總學(xué)分在2030范圍內(nèi)。create trigger tri_Insertcredit on Course after insert as if (select sum(c.Credit) from Course c join inserted i on i.Smester=c.Smester) not between 20 and 30 begin print你所插入的課程所在學(xué)期的總學(xué)分不在30這個(gè)范圍內(nèi) rollback end go insert into Course values (C012,影視鑒賞,2

5、5,1)insert into Course values (C013,服裝設(shè)計(jì),16,1)任務(wù)3:限制每個(gè)學(xué)生每學(xué)期選課門數(shù)不能超過(guò)6門(設(shè)只針對(duì)單行插入操作)create trigger tri_totalcno on SC after insert as declare sno char(9)select sno=inserted.Sno from insertedif exists(select count(*) from SC join Course c on SC.Cno=c.Cno where SC.Sno=sno group by Smester having count(*)

6、2) begin print你所插入的學(xué)生選課門數(shù)超過(guò)門! Rollback end goinsert into SC values(821102,c006,88) insert into SC values(811101,c006,86) 任務(wù)4:限制不能刪除有人選的課程create trigger tri_deletcno on Course after delete asif exists(select * from Course c join deleted d on d.Cno=c.Cno join SC on SC.Cno=d.Cno)Begin print你所刪除的學(xué)生存在選課!

7、 rollback end godelete from Course where Cno=c001delete from Course where Cno=c013 2.創(chuàng)建滿足下述要求的游標(biāo)任務(wù)1:查詢java課程的考試情況,并按教材11-19所示樣式顯示結(jié)果數(shù)據(jù)。declare name nchar(5),sdept nvarchar(20),grade intprint 選了java課程的學(xué)生情況: print姓名 所在系 成績(jī)declare java_cursor cursor for select Sname,Sdept,Grade from Student s join SC on

8、 s.Sno=SC.Sno join Course c on c.Cno=SC.Cno where Cname=java open java_cursorfetch next from java_cursor into name,sdept,grade while FETCH_STATUS =0 begin print name + + sdept + + cast(grade as char(4)fetch next from java_cursor into name,sdept,grade End close java_cursor deallocate java_cursor任務(wù)2:統(tǒng)

9、計(jì)每個(gè)系的男生人數(shù)和女生人數(shù),并按教材11-20所示樣式顯示結(jié)果數(shù)據(jù)。declare sdept nvarchar(20),sex nchar(1), number intprint 系名 性別 人數(shù): print*declare sdeptsex_cursor cursor for select Sdept,Ssex,count(*)from Student group by Sdept,Ssex order by Sdept open sdeptsex_cursorfetch next from sdeptsex_cursor into sdept,sex , number while F

10、ETCH_STATUS =0 begin print sdept + +sex+ +cast(number as char(4)fetch next from sdeptsex_cursor into sdept,sex , numberEnd close sdeptsex_cursor deallocate sdeptsex_cursor任務(wù)3:列出每個(gè)系的學(xué)生信息,要求首先列出一個(gè)系的系名,然后在該系名下列出本系學(xué)生的姓名和性別,以此類推,直至列出全部系。declare sdept nvarchar(20),name nchar(5),sex nchar(1)declare dept_cu

11、rsor cursor for select distinct Sdept from Student open dept_cursor fetch next from dept_cursor into sdept while FETCH_STATUS =0 begin print sdept print姓名 性別declare information_cursor cursor for select Sname,Ssex from Student open information_cursorfetch next from information_cursor into name,sex while FETCH_STATUS =0 begin print name + + sexfetch next from information_cursor into name,sex End close information_cursor deallocate information_cursorprint print printfetch next from dept_cursor into sdept End close dept_cursor deallocate dept_cursor4、 實(shí)驗(yàn)體會(huì)或?qū)嶒?yàn)中遇到的問(wèn)題 在實(shí)驗(yàn)開(kāi)始之初,由于對(duì)之前所學(xué)的知識(shí)有所忘記,所以我選擇首先

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論