《SQL Server 2005實用教程》第07章 視圖的創(chuàng)建和使用-例題解答_第1頁
《SQL Server 2005實用教程》第07章 視圖的創(chuàng)建和使用-例題解答_第2頁
《SQL Server 2005實用教程》第07章 視圖的創(chuàng)建和使用-例題解答_第3頁
《SQL Server 2005實用教程》第07章 視圖的創(chuàng)建和使用-例題解答_第4頁
《SQL Server 2005實用教程》第07章 視圖的創(chuàng)建和使用-例題解答_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

SQLServer2005實用教程第7章視圖的創(chuàng)建和使用第7章視圖的創(chuàng)建和使用——例題解答例7-2-1:創(chuàng)建一個視圖,要求顯示T_STUDENT表中所有姓張的同學(xué),并按性別進(jìn)行升序排序。完成此題可以用兩種方法:方法一:在SQLServer管理控制臺中直接設(shè)置相關(guān)選項,設(shè)置結(jié)果如圖7-2-4所示。設(shè)置好后,SQLServer會自動生成相關(guān)的SQL語句。圖7-2-4選擇視圖字段對話框方法二:在SQLServer管理控制臺中直接輸入以下SQL語句:SELECTS_NUMBER,S_NAME,SEXFROMT_STUDENTWHERES_NAMELIKE'張%'ORDERBYSEX例7-2-2:使用Transact-SQL語句創(chuàng)建一個新視圖,命名為VIEW_SCORE,要求基表的來源為:T_STUDENT、T_SCORE和T_COURSE,選擇的字段為:T_STUDENT表中的S_NUMBER和S_NAME字段、T_COURSE表中的C_NAME字段及T_SCORE表中的SCORE字段,要求查詢的數(shù)據(jù)為05541班學(xué)生的考試成績。程序清單如下:USESTUDENTGOCREATEVIEWVIEW_SCOREASSELECTT_STUDENT.S_NUMBER,T_STUDENT.S_NAME,T_COURSE.C_NAME,T_SCORE.SCOREFROMT_STUDENT,T_COURSE,T_SCOREWHERET_STUDENT.S_NUMBER=T_SCORE.S_NUMBERANDT_COURSE.C_NUMBER=T_SCORE.C_NUMBERANDLEFT(T_STUDENT.S_NUMBER,5)='05541'例7-2-3:使用Transact-SQL語句創(chuàng)建新視圖VIEW_SCORE_NotPass。對數(shù)據(jù)表和對字段的選擇同上,要求只顯示各班不及格的學(xué)生的學(xué)號、姓名、課程名及成績。并加密視圖的定義。程序清單如下:USESTUDENTGOCREATEVIEWVIEW_SCORE_NotPassWITHENCRYPTIONASSELECTT_STUDENT.S_NUMBER,T_STUDENT.S_NAME,T_COURSE.C_NAME,T_SCORE.SCOREFROMT_STUDENT,T_COURSE,T_SCOREWHERET_STUDENT.S_NUMBER=T_SCORE.S_NUMBERANDT_COURSE.C_NUMBER=T_SCORE.C_NUMBERANDSCORE<60例7-2-4:使用Transact-SQL語句創(chuàng)建新視圖VIEW_SCORE_SumAndAverage。要求計算各個班級各門課程的總分及平均分。程序清單如下:USESTUDENTGOCREATEVIEWVIEW_SCORE_SumAndAverageASSELECTSUBSTRING(T_STUDENT.S_NUMBER,1,LEN(T_STUDENT.S_NUMBER)-2)AS班級,T_COURSE.C_NAMEAS課程名稱,SUM(SCORE)AS總分,AVG(SCORE)AS平均分FROMT_STUDENT,T_COURSE,T_SCOREWHERET_STUDENT.S_NUMBER=T_SCORE.S_NUMBERANDT_COURSE.C_NUMBER=T_SCORE.C_NUMBERGROUPBYSUBSTRING(T_STUDENT.S_NUMBER,1,LEN(T_STUDENT.S_NUMBER)-2),T_COURSE.C_NAME例7-3-1:使用系統(tǒng)存儲過程sp_help顯示VIEW_SCORE視圖的特征信息。在SQLServer管理控制臺中輸入如下語句:USESTUDENTGOsp_helpVIEW_SCORE例7-3-2:使用sp_helptext顯示VIEW_SCORE視圖在系統(tǒng)表中的定義。在SQLServer管理控制臺中輸入如下語句:USESTUDENTGOsp_helptextVIEW_SCORE注意:如果在創(chuàng)建視圖時對視圖的定義進(jìn)行了加密,則不能查看視圖的定義信息。例7-3-3:查看加密視圖的定義信息。在SQLServer管理控制臺中輸入如下語句:USESTUDENTGOsp_helptextVIEW_SCORE_NotPass例7-3-4:使用sp_depends顯示VIEW_SCORE視圖所依賴的對象。在SQLServer管理控制臺中輸入如下語句:USESTUDENTGOsp_dependsVIEW_SCORE例7-4-1:修改視圖VIEW_SCORE_NotPass,在該視圖中增加一個新的條件,要求只顯示高等數(shù)學(xué)不及格的學(xué)生信息。程序清單如下:USESTUDENTGOALTERVIEWVIEW_SCORE_NotPassWITHENCRYPTIONASSELECTT_STUDENT.S_NUMBER,T_STUDENT.S_NAME,T_COURSE.C_NAME,T_SCORE.SCOREFROMT_STUDENT,T_COURSE,T_SCOREWHERET_STUDENT.S_NUMBER=T_SCORE.S_NUMBERANDT_COURSE.C_NUMBER=T_SCORE.C_NUMBERANDT_COURSE.C_NAME='高等數(shù)學(xué)'ANDSCORE<60例7-4-2:使用把視圖“VIEW_SCORE_NotPass”重命名為“VIEW_SCORE_NotPass_高等數(shù)學(xué)”。程序清單如下:sp_renameVIEW_SCORE_NotPass,VIEW_SCORE_NotPass_高等數(shù)學(xué)例7-5-1:創(chuàng)建一個基于表T_STUDENT的新視圖VIEW_STUDENT_05541,要求包含05541班的學(xué)生記錄。程序清單如下:USESTUDENTGOCREATEVIEWVIEW_STUDENT_05541(S_NUMBER,S_NAME,SEX)ASSELECTS_NUMBER,S_NAME,SEXFROMT_STUDENTWHERES_NUMBERlike'05541%'例7-5-2:首先創(chuàng)建一個包含限制條件的視圖VIEW_STUDENT_05541_男,限制條件為顯示05541班的男同學(xué)信息,然后插入了一條不滿足限制條件的記錄,再用SELECT語句檢索視圖和表。程序清單如下:USESTUDENTGOCREATEVIEWVIEW_STUDENT_05541_男ASSELECT*FROMT_STUDENTWHERES_NUMBERlike'05541%'ANDSEX='男'GOInsertintoVIEW_STUDENT_05541_男Values('0554112','王麗','女','1984-5-5','團(tuán)員')GOSELECT*FROMVIEW_STUDENT_05541_男GOSELECT*FROMT_STUDENTWHERES_NUMBERlike'05541%'GO例7-5-3:在例子7-5-2的基礎(chǔ)上添加WITHCHECKOPTION選項。程序清單如下:USESTUDENTGOCREATEVIEWVIEW_STUDENT_05541_男_OnlyASSELECT*FROMT_STUDENTWHERES_NUMBERlike'05541%'ANDSEX='男'WITHCHECKOPTIONGOInsertintoVIEW_STUDENT_05541_男_OnlyValues(0554113,'張華','女','1984-11-2','群眾')GO例7-5-4:創(chuàng)建一個基于表T_STUDENT的視圖VIEW_STUDENT_05541_Modify,條件是顯示05541班的學(xué)生的學(xué)號、姓名和性別,然后通過該視圖修改表T_STUDENT中的記錄。程序清單如下:USESTUDENTGOCREATEVIEWVIEW_STUDENT_05541_Modify(S_NUMBER,S_NAME,SEX)ASSELECTS_NUMBER,S_NAME,SEXFROMT_STUDENTWHERES_NUMBERlike'05541%'GOupdateVIEW_STUDENT_05541_ModifysetS_NAME='王曉麗'WHERES_NUMBER='0554112'例7-5-5:利用視圖VIEW_STUDENT_05541,先插入一條記錄,然后刪除此條記錄。程序清單如下:USESTUDENTGOInsertintoVIEW_STUDENT_05541Values('055

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論