實驗10:數(shù)據(jù)庫完整性_第1頁
實驗10:數(shù)據(jù)庫完整性_第2頁
實驗10:數(shù)據(jù)庫完整性_第3頁
實驗10:數(shù)據(jù)庫完整性_第4頁
實驗10:數(shù)據(jù)庫完整性_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗 10:數(shù)據(jù)完整性實驗班級:計算機科學與技術(shù)2班 學號: 110 姓名: 徐旸 一、實驗目的本實驗的目的是通過實驗使學生加深對數(shù)據(jù)完整性的理解,學會創(chuàng)建和使用觸發(fā)器。二、實驗要求三、實驗內(nèi)容在SQL Server Management Studio中創(chuàng)建觸發(fā)器1.在SQL Server Management Studio中,由服務器開始逐步擴展到觸發(fā)器所屬表的數(shù)據(jù)庫(本例為學生選課數(shù)據(jù)庫),打開表文件夾,在表窗口中用鼠標右擊觸發(fā)器所屬的表(本例為選課表)。在彈出菜單上選擇“所有任務”“管理觸發(fā)器”項,則彈出觸發(fā)器屬性對話框。2.創(chuàng)建一個insert觸發(fā)器,當在選課表中插入一條新記錄時,給出

2、你已經(jīng)插入了一條新記錄!的提示信息。程序代碼如下:create trigger stuinsert on 選課for insertasdeclare msg char(50)set msg= 你已經(jīng)插入了一條新記錄!print msg打開選課表,往選課表輸入一條任意數(shù)據(jù),查看結(jié)果。3.在學生表上建立觸發(fā)器trg1,當修改學生表中某個學生的學號時,如果選課表中存在該學生的選修記錄時,則修改該同學的學號。create trigger trg1 on 學生for updateasprint 觸發(fā)器trg1 開始工作-declare old_id nchar(6)declare new_id ncha

3、r(6)select old_id =學號 from deletedselect new_id =學號 from insertedif UPDATE(學號)beginupdate 選課 set 學號=new_id where 學號=old_id end4.在選課表上建立觸發(fā)器trg2,當插入一行數(shù)據(jù)時,如果學號(Stid)和課程號(cid)錯誤則取消插入操作。5.創(chuàng)建一個insert觸發(fā)器,當在選課表中插入一條新記錄時,學號和課程號必須是已經(jīng)存在,且成績應該在0-100之間。 程序代碼如下: create trigger scinsert on 選課 for insert as declare

4、 gradevalue real set gradevalue=(select grade from inserted) print 觸發(fā)器開始工作 if not exists(select 學號 from inserted where 學號 in(select 學號 from pupil) begin print 無此學生的編號,請重新確認! rollback transaction endelse begin if not exists(select 課程號 from inserted where 課程號 in(select 課程號 from course) begin print 無此課

5、程的編號,請重新確認! rollback transaction end else begin if gradevalue100 begin print 分數(shù)有誤,請重新確認! rollback transaction end else print 數(shù)據(jù)插入成功! endend6.創(chuàng)建一個after觸發(fā)器,在學生表中刪除某學生的記錄時,刪除其相應的選課記錄。 程序代碼如下: create trigger studelete on 學生 for delete as declare stunum char(10) select stunum=學號 from deleted if not exists(select * from 學生,選課 where 學生.學號=選課.學號 and 學生.學號=stunum) print 無此學生的選課記錄! else be

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論