版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
4.2.1視圖概念使用視圖時(shí),要注意下列事項(xiàng):(1)只有在當(dāng)前數(shù)據(jù)庫中才能創(chuàng)建視圖。視圖的命名必須遵循標(biāo)識(shí)符命名規(guī)則,不能與表同名,且對(duì)每個(gè)用戶視圖名必須是唯一的,即對(duì)不同用戶,即使是定義相同的視圖,也必須使用不同的名字。(2)不能把規(guī)則、默認(rèn)值或觸發(fā)器與視圖相關(guān)聯(lián)。(3)不能在視圖上建立任何索引,包括全文索引視圖與表(有時(shí)為與視圖區(qū)別,也稱表為基本表——BaseTable)不同,視圖是一個(gè)虛表,即視圖所對(duì)應(yīng)的數(shù)據(jù)不進(jìn)行實(shí)際存儲(chǔ),數(shù)據(jù)庫中只存儲(chǔ)視圖的定義,對(duì)視圖的數(shù)據(jù)進(jìn)行操作時(shí),系統(tǒng)根據(jù)視圖的定義去操作與視圖相關(guān)聯(lián)的基本表。視圖是從一個(gè)或多個(gè)表(或視圖)導(dǎo)出的表。視圖是數(shù)據(jù)庫的用戶使用數(shù)據(jù)庫的觀點(diǎn)。4.2.2創(chuàng)建視圖3.使用CREATEVIEW語句創(chuàng)建視圖T-SQL中用于創(chuàng)建視圖的語句是CREATEVIEW語句,例如用該語句創(chuàng)建視圖CS_XS,其表示形式為:USEXSCJGOCREATEVIEWCS_XS AS SELECT* FROMXS WHERE專業(yè)名='計(jì)算機(jī)'GO
語法格式:CREATEVIEW[<database_name>.][<owner>.]view_name[(column_name[,…n])][WITH<view_attribute>[,…n]]ASselect_statement[WITHCHECKOPTION]4.2.2創(chuàng)建視圖【例4.51】創(chuàng)建CS_KC視圖,包括計(jì)算機(jī)專業(yè)各學(xué)生的學(xué)號(hào)、其選修的課程號(hào)及成績。要保證對(duì)該視圖的修改都要符合專業(yè)名為計(jì)算機(jī)這個(gè)條件。CREATEVIEWCS_KCWITHENCRYPTION AS SELECTXS.學(xué)號(hào),課程號(hào),成績
FROMXS,XS_KC WHEREXS.學(xué)號(hào)=XS_KC.學(xué)號(hào)AND專業(yè)名='計(jì)算機(jī)' WITHCHECKOPTION【例4.52】創(chuàng)建計(jì)算機(jī)專業(yè)學(xué)生的平均成績視圖CS_KC_AVG,包括學(xué)號(hào)(在視圖中列名為num)和平均成績(在視圖中列名為score_avg)。CREATEVIEWCS_KC_AVG(num,score_avg) AS SELECT學(xué)號(hào),AVG(成績) FROMCS_KC GROUPBY學(xué)號(hào)4.2.3查詢視圖【例4.53】使用視圖CS_KC查找計(jì)算機(jī)專業(yè)的學(xué)生學(xué)號(hào)和選修的課程號(hào)。SELECT學(xué)號(hào),課程號(hào)
FROMCS_KC【例4.54】查找平均成績?cè)?0分以上的學(xué)生的學(xué)號(hào)和平均成績。本例首先創(chuàng)建學(xué)生平均成績視圖XS_KC_AVG,包括學(xué)號(hào)(在視圖中列名為num)和平均成績(在視圖中列名為score_avg)。CREATEVIEWXS_KC_AVG(num,score_avg)ASSELECT學(xué)號(hào),AVG(成績)FROMXS_KCGROUPBY學(xué)號(hào)再對(duì)XS_KC_AVG視圖進(jìn)行查詢。SELECT*FROMXS_KC_AVGWHEREscore_avg>=804.2.4更新視圖1.可更新視圖要通過視圖更新基本表數(shù)據(jù),必須保證視圖是可更新視圖。一個(gè)可更新視圖可以是以下情形之一:滿足以下條件的視圖:創(chuàng)建視圖的SELECT語句中沒有聚合函數(shù),且沒有TOP、GROUPBY、UNION子句及DISTINCT關(guān)鍵字;創(chuàng)建視圖的SELECT語句中不包含從基本表列通過計(jì)算所得的列;創(chuàng)建視圖的SELECT語句的FROM子句中至少要包含一個(gè)基本表。前面創(chuàng)建的視圖CS_XS、CS_KC是可更新視圖,而CS_KC_AVG是不可更新的視圖。4.2.4更新視圖2.插入數(shù)據(jù)【例4.56】向CS_XS視圖中插入一條記錄:(‘001115’,‘劉明儀’,‘計(jì)算機(jī)’,1,‘1978-3-2’,50,NULL)INSERTINTOCS_XSVALUES('001115','劉明儀','計(jì)算機(jī)',1,'1978-3-2',50,NULL,NULL)使用SELECT語句查詢CS_XS依據(jù)的基本表XS:SELECT*FROMXS將會(huì)看到該表已添加了('001115','劉明儀','計(jì)算機(jī)',1,'1978-3-2',50,NULL,NULL)行。4.2.4更新視圖3.修改數(shù)據(jù)【例4.58】將CS_XS視圖中所有學(xué)生的總學(xué)分增加8。UPDATECS_XSSET總學(xué)分=總學(xué)分+8【例4.59】將CS_KC視圖中學(xué)號(hào)為001101的學(xué)生的101課程成績改為90。UPDATECS_KC SET成績=90 WHERE學(xué)號(hào)='081113'AND課程號(hào)='101'4.2.4更新視圖4.刪除數(shù)據(jù)【例4.61】刪除CS_XS中女同學(xué)的記錄。DELETEFROMCS_XS WHERE性別=0
4.2.5修改視圖的定義2.使用ALTERVIEW語句修改視圖語法格式:ALTERVIEW[<database_name>.][<owner>.]view_name[(column_name[,…n])][WITH<view_attribute>[,…n]]ASselect_statement[WITHCHECKOPTION]【例4.64】將CS_XS視圖修改為只包含計(jì)算機(jī)專業(yè)學(xué)生的學(xué)號(hào)、姓名和總學(xué)分。USEXSCJGOALTERVIEWCS_XSASSELECT學(xué)號(hào),姓名,總學(xué)分
FROMXS WHERE專業(yè)名='計(jì)算機(jī)'GO4.2.5修改視圖的定義【例4.65】視圖CS_KC是加密存儲(chǔ)視圖,修改其定義:包括學(xué)號(hào)、姓名、選修的課程號(hào)、課程名和成績。ALTERVIEWCS_KCWITHENCRYPTIONASSELECTXS.學(xué)號(hào),XS.姓名,XS_KC.課程號(hào),KC.課程名,成績
FROMXS,XS_KC,KCWHEREXS.學(xué)號(hào)=XS_KC.學(xué)號(hào)ANDXS_KC.課程號(hào)=KC.課程號(hào)
AND專業(yè)名='計(jì)算機(jī)'WITHCHECKOPTION4.2.6刪除視圖在企業(yè)管理器中刪除視圖的操作方法是:展開數(shù)據(jù)庫和視圖,在需刪除的視圖上單擊鼠標(biāo)右鍵,在彈出的快捷菜單上選擇“刪除”,出現(xiàn)如圖4.34所示的對(duì)話框,在其中點(diǎn)擊“全部除去”按鈕即可刪除指定的視圖。語法格式:DROPVIEW{view}[,…n]其中view是視圖名,使用DROPVIEW一次可刪除多個(gè)視圖。例如:DROPVIEWCS_KC將刪除視圖CS_KC。在T-SQL語句產(chǎn)生的結(jié)果中都是一個(gè)結(jié)果集,一般包含多行記錄,T-SQL只能把結(jié)果集作為一個(gè)整體處理;而有時(shí),特別是將T-SQL結(jié)果集嵌入到其他語言(如C,java等)編寫的程序時(shí),需要對(duì)結(jié)果集逐行處理。游標(biāo)就是T-SQL中提供的逐行處理結(jié)果集的一種機(jī)制,可以對(duì)結(jié)果集逐行處理。一般的T-SQL語句的處理方式是一次一集合,游標(biāo)的處理方式是一次一記錄4.3游標(biāo)4.3.2聲明游標(biāo)T-SQL中聲明游標(biāo)使用DECLARECURSOR語句,該語句有兩種格式,分別支持SQL-92標(biāo)準(zhǔn)和T-SQL擴(kuò)展的游標(biāo)聲明。1.SQL-92語法語句格式:DECLAREcursor_name[INSENSITIVE][SCROLL]CURSORFORselect_statement[FOR{READONLY|UPDATE[OFcolumn_name[,…n]]}]2.T-SQL擴(kuò)展語句格式:DECLAREcursor_nameCURSOR[LOCAL|GLOBAL]/*游標(biāo)作用域*/[FORWORD_ONLY|SCROLL]/*游標(biāo)移動(dòng)方向*/[STATIC|KEYSET|DYNAMIC|FAST_FORWARD]/*游標(biāo)類型*/[READ_ONLY|SCROLL_LOCKS|OPTIMISTIC]/*訪問屬性*/[TYPE_WARNING]/*類型轉(zhuǎn)換警告信息*/FORselect_statement/*SELECT查詢語句*/[FORUPDATE[OFcolumn_name[,…n]]]/*可修改的列*/游標(biāo)的使用使用游標(biāo)要分成五個(gè)步驟,其中最后一個(gè)步驟有時(shí)可以省略聲明游標(biāo)打開游標(biāo)讀取數(shù)據(jù)關(guān)閉游標(biāo)刪除游標(biāo)聲明游標(biāo)DECLAREcursor_nameCURSOR
[LOCAL|GLOBAL]--作用域[FORWARD_ONLY|SCROLL]--移動(dòng)方向[STATIC|KEYSET|DYNAMIC|FAST_FORWARD]--類型
[READ_ONLY|SCROLL_LOCKS|OPTIMISTIC]--訪問屬性[TYPE_WARNING]
FORselect_statement
[FORUPDATE[OFcolumn_name[,...n]]]聲明游標(biāo)聲明一個(gè)游標(biāo),查詢學(xué)生表中的所有數(shù)據(jù)??梢詫?duì)該游標(biāo)進(jìn)行修改和滾動(dòng)訪問Declarexs_curcursorScrolldynamicForselect*fromxs打開游標(biāo)Open游標(biāo)名或游標(biāo)變量打開上一步聲明的游標(biāo)xs_curOpenxs_curselect@@cursor_rows游標(biāo)行數(shù)讀取數(shù)據(jù)FETCH
[[NEXT|PRIOR|FIRST|LAST
|ABSOLUTE{n|
@nvar}
|RELATIVE{n|
@nvar}
]
FROM
]
{{[GLOBAL]cursor_name}|@cursor_variable_name}
[INTO
@variable_name
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 配電網(wǎng)負(fù)荷動(dòng)態(tài)平衡技術(shù)
- 保險(xiǎn)行業(yè)數(shù)字化轉(zhuǎn)型模板
- 職業(yè)導(dǎo)論-2018-2019年房地產(chǎn)經(jīng)紀(jì)人《職業(yè)導(dǎo)論》真題匯編
- 房地產(chǎn)交易制度政策-《房地產(chǎn)基本制度與政策》真題匯編4
- 要怎么寫問卷調(diào)查報(bào)告
- 人教版三年級(jí)數(shù)學(xué)下冊(cè)第三單元復(fù)式統(tǒng)計(jì)表綜合卷(含答案)
- 山西省朔州市部分學(xué)校2024-2025學(xué)年八年級(jí)上學(xué)期期末生物學(xué)試卷(含答案)
- 產(chǎn)權(quán)技術(shù)合同在跨國技術(shù)轉(zhuǎn)移中的法律風(fēng)險(xiǎn)與防范
- 蘇州中考英語模擬試卷單選題及答案
- 二零二五版房屋遺產(chǎn)繼承分配與拆除重建工程融資合同3篇
- 部編新改版語文一年級(jí)下冊(cè)《語文園地四》教學(xué)設(shè)計(jì)
- 2025年北京鐵路局集團(tuán)招聘筆試參考題庫含答案解析
- 《藥品招商營銷概論》課件
- 曙光磁盤陣列DS800-G10售前培訓(xùn)資料V1.0
- 寺廟祈?;顒?dòng)方案(共6篇)
- 2025年病案編碼員資格證試題庫(含答案)
- 企業(yè)財(cái)務(wù)三年戰(zhàn)略規(guī)劃
- 2025新譯林版英語七年級(jí)下單詞表
- 提高膿毒性休克患者1h集束化措施落實(shí)率
- 山東省濟(jì)南市天橋區(qū)2024-2025學(xué)年八年級(jí)數(shù)學(xué)上學(xué)期期中考試試題
- 主播mcn合同模板
評(píng)論
0/150
提交評(píng)論