第6章關系數(shù)據(jù)庫標準語言-SQL_第1頁
第6章關系數(shù)據(jù)庫標準語言-SQL_第2頁
第6章關系數(shù)據(jù)庫標準語言-SQL_第3頁
第6章關系數(shù)據(jù)庫標準語言-SQL_第4頁
第6章關系數(shù)據(jù)庫標準語言-SQL_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第6第6章關系數(shù)據(jù)庫標準語言——SQL——數(shù)據(jù)庫應用教程本章主要內(nèi)容SQL的數(shù)據(jù)定義功能SQL語言概述

SQL的數(shù)據(jù)查詢功能

視圖的創(chuàng)建與使用SQL的數(shù)據(jù)操縱功能

主要內(nèi)容SQL的數(shù)據(jù)控制功能

6.1SQL語言概述

6.1.1SQL語言的由來

SQL即結構化查詢語言,是StructuredQueryLanguage的縮寫,是介于關系代數(shù)和關系演算之間的語言,它是1974年由Boyce和Chambertin提出來,并在IBM公司開發(fā)研制的關系數(shù)據(jù)庫系統(tǒng)SystemR上實現(xiàn)。到了八十年代,SQL逐漸成為關系型數(shù)據(jù)庫的一個事實上的標準,1989年,國際標準化組織ISO將SQL定為國際標準,推薦它為關系數(shù)據(jù)庫標準語言。1990年,我國也頒布了《信息處理系統(tǒng)數(shù)據(jù)庫語言SQL》,并將其定為中國國家標準。許多可視化語言和數(shù)據(jù)庫管理軟件都內(nèi)嵌了對SQL語言的支持,如VisualBasic、Delphi、VisualFoxPro等。一般情況下,這些語言并不支持全部SQL語句,而只是支持SQL語言的一個子集。1.一體化特點2.高度的非過程化3.兩種使用方式及統(tǒng)一的語法結構4.視圖數(shù)據(jù)結構5.語言簡潔易學6.1SQL語言概述

6.1.2SQL語言的特點6.可用于客戶/服務器結構6.1SQL語言概述

6.1.3SQL支持的關系數(shù)據(jù)庫模式6.1SQL語言概述

6.1.4SQL和Transact-SQL概述SQL語言是一種數(shù)據(jù)庫標準查詢語言,在每一個具體的數(shù)據(jù)庫系統(tǒng)中,都在功能上對這種標準的SQL語言進行了擴展或部分縮減,語句格式也會有點變化,從而形成了各自不同的SQL版本。Transact-SQL就是SQLServer中使用的SQL版本。Transact-SQL最早由Sybase公司、Microsoft公司聯(lián)合開發(fā),后來Microsoft公司將其應用在SQLServer上,并將其作為SQLServer的核心組件,與SQLServer通信,并訪問SQLServer中的對象。它在ANSISQL92標準的基礎上進行了擴展,對語法也作了精簡,增強了可編程性和靈活性,使其功能更為強大,使用更為方便。隨著SQLServer2000的應用普及,Transact-SQL語言也越來越重要了。6.1SQL語言概述

6.1.4SQL和Transact-SQL概述Transact-SQL對SQL的擴展主要在如下3個方面:(1)增加了流程控制語句。SQL作為一種功能強大的結構化標準查詢語言并沒有包含流程控制語句,因此不能單純使用SQL構造出一種最簡單的分支程序。Transact-SQL在這方面進行了擴展,增加了塊語句、分支判斷語句、循環(huán)語句、跳轉(zhuǎn)語句等。(2)加入了局部變量、全局變量等許多新概念,可以寫出更加復雜的查詢語句。(3)增加了新的數(shù)據(jù)類型,處理能力更強。6.1SQL語言概述

6.1.5SQL語言的語句6.2SQL的數(shù)據(jù)定義功能6.2.1基本表的建立、修改和刪除1.建立表【格式】CREATETABLE<表名>( <字段名1><數(shù)據(jù)類型>[NOTNULL][UNIQUE][,<字段名2><數(shù)據(jù)類型>[NOTNULL][UNIQUE],…])【功能】創(chuàng)建一個名為“表名”的數(shù)據(jù)表,該數(shù)據(jù)表由若干個字段組成,字段名分別是“字段名1”、“字段名2”等。6.2SQL的數(shù)據(jù)定義功能6.2.1基本表的建立、修改和刪除2.修改表結構

(1)在基本表添加字段【格式】ALTERTABLE<表名>ADDCOLUMN<字段名><數(shù)據(jù)類型>[NOTNULL][UNIQUE]【功能】為“表名”指定的表添加一個名為“字段名”的字段,數(shù)據(jù)類型、NOTNULL和UNIQUE的含義同CREATETABLE語句。(2)從基本表中刪除字段【格式】ALTERTABLE<表名>DROPCOLUMN<字段名>【功能】為“表名”指定的表刪除名為“字段名”的字段。6.2SQL的數(shù)據(jù)定義功能6.2.1基本表的建立、修改和刪除2.修改表結構

(3)修改字段的屬性【格式】ALTERTABLE<表名>ALTERCOLUMN<字段名><數(shù)據(jù)類型>[NOTNULL][UNIQUE]【功能】修改“表名”指定的表中名為“字段名”的字段,新字段的屬性由數(shù)據(jù)類型、NOTNULL和UNIQUE指定。3.刪除表

SQL刪除表語句為DROPTABLE,格式和功能如下:【格式】DROPTABLE表名【功能】刪除名為“表名”的表。6.2SQL的數(shù)據(jù)定義功能6.2.2索引的建立與刪除1.建立索引

【格式】CREATE[UNIQUE]INDEX<索引名>ON<表名>(<字段名1>[DESC|ASC][,<字段名2>[DESC|ASC],…])[其它索引選項]【功能】為“表名”指定的表創(chuàng)建一個名為“索引名”的索引。

2.刪除索引

SQL刪除表語句為DROPTABLE,格式和功能如下:【格式】DROPINDEX索引名ON表名【功能】刪除“表名”指定的表中由“索引名”指定的索引。6.3SQL的數(shù)據(jù)查詢功能6.3.1SELECT語句格式及功能說明【格式】SELECT[ALL|DISTINCT|TOPN|TOPNPERCENT]*|<列名1>或<表達式1>[AS<列標題1>][,<列名2>或<表達式2>[AS<列標題2>],…]FROM<表名1>[別名1][,<表名2>[別名2],…][WHERE<條件>][GROUPBY<列名1>[,<列名2>,…]][HAVING<條件>][ORDERBY<列名1>[ASC|DESC][,<列名2>[ASC|DESC],…]]

【功能】從“表名1”和“表名2”等指定的表中查詢滿足條件的數(shù)據(jù)。6.3SQL的數(shù)據(jù)查詢功能6.3.2簡單查詢

【例6-1】列出Course表中的全部課程信息。

USECollegeMISGOSELECT*FROMCourseGO【例6-2】列出計算機網(wǎng)絡專業(yè)的全部學生的學號、姓名和年級。SELECTStuNo,StuName,GradeFROMStudentWHEREMajor='計算機網(wǎng)絡'6.3SQL的數(shù)據(jù)查詢功能6.3.2簡單查詢

【例6-3】列出所有有選課信息的學生的學號。SELECTDISTINCTStuNoFROMSelectCourse

【例6-4】求“0002”號課程成績在60分以上的學生的學號和成績。并按成績由高到低排序。SELECTStuNo,ScoreFROMSelectCourseWHERECourseNo='0002'andScore>=60ORDERBYScoreDESC6.3SQL的數(shù)據(jù)查詢功能6.3.2簡單查詢

【例6-5】在SelectCourse表中找出所有沒有成績的學號和課號。SELECTStuNo,CourseNoFROMSelectCourseWHERESCOREISNULL注意:表示某列的值是否為空的表達式的一般形式為:列名IS[NOT]NULL但不可寫成:列名=NULL或列名!=NULL。6.3SQL的數(shù)據(jù)查詢功能6.3.2簡單查詢

SQL提供了三個專用于查詢的謂詞:BETWEEN……AND、IN和LIKE

BETWEEN……AND:當要求某個字段值在某個區(qū)間內(nèi)時,可使用該謂詞,否定的形式是NOTBETWEEN……AND。

IN:當要求字段值是幾個值中的一個時,可使用該謂詞,否定的形式是NOTIN。LIKE:主要用于在查詢條件中對字符串進行比較,它的否定形式為NOTLIKE。6.3SQL的數(shù)據(jù)查詢功能6.3.2簡單查詢

【例6-6】查找成績在85和95之間的學生的選課得分情況。SELECT*FROMSelectCourseWHEREScoreBETWEEN85AND95

【例6-7】查找出一年級和三年級學生的學號、姓名和性別。

SELECTStuNo,StuName,SexFROMStudentWHEREGradein(1,3)

SELECT*FROMSelectCourseWHEREScore>=85ANDScore<=95

SELECTStuNo,StuName,SexFROMStudentWHEREGradein(1,3)6.3SQL的數(shù)據(jù)查詢功能6.3.2簡單查詢

【例6-8】查詢“05”和“07”級學生的學習情況。已知學號的前2位是學生的入學年份。SELECT*FROMSelectCourseWHEREStuNolike'05%'ORStuNolike'07%'SELECT*FROMSelectCourseWHEREStuNolike'05_______‘ORStuNolike'07_______

'/*'_______'中有7個’_’*/

6.3SQL的數(shù)據(jù)查詢功能6.3.3連接查詢

多個表之間的連接運算特別是自然連接運算是關系數(shù)據(jù)庫中經(jīng)常用到的一種操作,SQL語言也提供了查詢多個表中信息的操作,這種多個表之間的查詢功能稱之為連接查詢。若按對應字段相等將一個表中的行與另一個表中的行連接起來,稱為等值查詢,若兩個表對應字段同名就相當于內(nèi)連接。

6.3SQL的數(shù)據(jù)查詢功能6.3.3連接查詢

【例6-9】查詢出所有學生的課程學習情況,查詢結果中包含學號、姓名、課號和成績。

SELECTStudent.StuNo,Student.StuName,SelectCourse.CourseNo,SelectCourse.ScoreFROMStudent,SelectCourseWHEREStudent.StuNo=SelectCourse.StuNo

SELECTStudent.StuNo,Student.StuName,SelectCourse.CourseNo,SelectCourse.ScoreFROMStudentINNERJOINSelectCourseONStudent.StuNo=SelectCourse.StuNo注意:左外連接、右外連接和全外連接的關鍵字分別為LEFTJOIN、RIGHTJOIN和FULLJOIN。6.3SQL的數(shù)據(jù)查詢功能6.3.3連接查詢

【例6-11】列出選修“0001”號課的學生姓名及成績。SELECTStudent.StuName,SelectCourse.ScoreFROMStudent,SelectCourseWHEREStudent.StuNo=SelectCourse.StuNoandSelectCourse.CourseNo='0001'SELECTStudent.StuName,SelectCourse.ScoreFROMStudentINNERJOINSelectCourseONStudent.StuNo=SelectCourse.StuNoWHERESelectCourse.CourseNo='0001'SELECTx.StuName,y.ScoreFROMStudentx,SelectCourseyWHEREx.StuNo=y.StuNoandy.CourseNo='0001'6.3SQL的數(shù)據(jù)查詢功能6.3.4嵌套查詢

【例6-13】列出所有選修了“程序設計基礎”的學生的學號。1.返回單值的子查詢

SELECTStuNoFROMSelectCourseWHERECourseNo=(SelectDISTINCTCourseNoFROMCourseWHERECourseName='程序設計基礎')6.3SQL的數(shù)據(jù)查詢功能6.3.4嵌套查詢

當子查詢返回的值不止一個時,則必須在WHERE子句中說明怎樣使用這些返回值。使用的方式有三種

:2.返回多值的子查詢

字段名|表達式比較運算符ANY|SOME|ALL(子查詢結果集);

字段名|表達式[NOT]IN(子查詢結果集);

字段名|表達式[NOT]EXISTS(子查詢結果集)。

6.3SQL的數(shù)據(jù)查詢功能6.3.4嵌套查詢

各謂詞的含義如下:2.返回多值的子查詢

ANY或SOME:這兩個謂詞的功能完全一樣,只要子查詢結果集中任一個值滿足給定的條件,結果就是真。ALL:只有在子查詢集中的所有值均滿足條件時結果才為真。

IN:如果表達式或字段的值包含在子查詢中則表達式值為值,而NOTIN正相反。

EXISTS:若子查詢中有返回記錄,則結果為真,而NOTEXISTS正相反。

6.3SQL的數(shù)據(jù)查詢功能6.3.4嵌套查詢

(1)ANY和SOME的用法2.返回多值的子查詢

【例6-14】求選修“0002”號課的學生的學號和成績,這些學生的成績比選修“0003”號課的最低成績要高。

SELECTStuNo,ScoreFROMSelectCourseWHERECourseNo='0002'andScore>ANY(SELECTScoreFROMSelectCourseWHERECourseNo='0003')6.3SQL的數(shù)據(jù)查詢功能6.3.4嵌套查詢

(2)ALL的用法2.返回多值的子查詢

【例6-15】查詢出選修了“0002”號課的學生的學號和成績,這些學生的成績比選修了“0003”課的任何學生的成績都要高。SELECTStuNo,ScoreFROMSelectCourseWHERECourseNo='0002'andScore>ALL(SELECTScoreFROMSelectCourseWHERECourseNo='0003')6.3SQL的數(shù)據(jù)查詢功能6.3.4嵌套查詢

(3)IN的用法2.返回多值的子查詢

【例6-16】查詢所有“計算機網(wǎng)絡”專業(yè)的學生的學習情況,查詢結果中包括學號、課號、課程名和成績。SELECTSC.StuNo,SC.CourseNo,C.CourseName,SC.ScoreFROMSelectCourseSCINNERJOINCourseCONSC.CourseNo=C.CourseNoWHERESC.StuNoIN(SELECTStuNoFROMStudentWHEREMajor='計算機網(wǎng)絡')6.3SQL的數(shù)據(jù)查詢功能6.3.4嵌套查詢

(4)EXISTS的用法2.返回多值的子查詢

【例6-16】使用EXISTS謂詞對SelectCourse表進行查詢,查詢條件是:如果Course表中存在課程號為“0003”的課程,則從SelectCourse表中選出所有選修“0003”號課程的學生的學習情況。SELECT*FROMSelectCourseWHERECourseNo='0003'ANDEXISTS(SELECT*FROMCourseWHERECourseNo='0003')6.3SQL的數(shù)據(jù)查詢功能6.3.5組函數(shù)查詢

6.3SQL的數(shù)據(jù)查詢功能6.3.5組函數(shù)查詢

【例6-18】列出各門課的平均成績、最高成績、最低成績和選課人數(shù)。SELECTCourseNoAs課號,AVG(Score)AS平均成績,MAX(Score)AS最高成績,MIN(Score)as最低成績,COUNT(StuNo)as人數(shù)

FROMSelectCourseGROUPBYCourseNo)【例6-19】列出至少選修了三門課的學生學號、姓名、性別和專業(yè)。SELECTStuNo,StuName,Sex,MajorFROMStudentWHEREStuNoIN(SELECTStuNoFROMSelectCourseGROUPBYStuNoHAVINGCOUNT(*)>=3)6.3SQL的數(shù)據(jù)查詢功能6.3.6使用COMPUTE子句進行匯總統(tǒng)計可以使用COMPUTER子句對查詢結果集中的所有記錄進行匯總統(tǒng)計,顯示的結果包括所有記錄的詳細信息及匯總信息。該子句一般格式如下。

COMPUTE組函數(shù)[BY列名]

【例6-19】列出每個學生的課程學習情況,并統(tǒng)計出每個學生的總分、平均分和選課門數(shù)。SELECT*FROMSelectCourseORDERBYStuNoCOMPUTESUM(Score),AVG(Score),Count(CourseNo)BYStuNo6.3SQL的數(shù)據(jù)查詢功能6.3.7合并查詢結果使用UNION關鍵字能夠把兩個查詢的結果合并在一起,這兩個查詢結果應具有并相容性。

UNION關鍵詞使用的一般形式如下:SELECT語句1UNIONSELECT語句2其作用是把“SELECT語句1”的查詢結果和“SELECT語句2”的查詢結果合并起來。

6.3SQL的數(shù)據(jù)查詢功能6.3.6使用COMPUTE子句進行匯總統(tǒng)計【例6-21】查詢出平均分超過75分的“計算機應用”專業(yè)的學生和“計算機網(wǎng)絡”專業(yè)的學生,查詢的信息包括學號、姓名和性別。SELECTStuNo,StuName,SexFROMStudentWHEREMajor='計算機應用'ANDStuNoIN(SELECTStuNoFROMSelectCourseGROUPBYStuNoHAVINGAVG(SCORE)>=75)UNIONSELECTStuNo,StuName,SexFROMStudentWHEREMajor='計算機網(wǎng)絡'ANDStuNoIN(SELECTStuNoFROMSelectCourseGROUPBYStuNoHAVINGAVG(SCORE)>=75)6.4SQL的數(shù)據(jù)操縱功能6.4.1插入記錄【格式】INSERTINTO<表名>[(<字段名1>[,<字段名2>[,…]])]VALUES(<表達式1>[,<表達式2>[,…]])【功能】向“表名”指定的表中插入一條記錄,VALUES后面括號中的數(shù)據(jù)就是新記錄的相應字段的值。即“表達式1”的值作為“字段名1”的值,“表達式2”作為“字段名2”的值,……。如果要給記錄的所有字段插入值,表名后面的字段名可以缺省,但插入數(shù)據(jù)的類型必須與表中相應字段的數(shù)據(jù)類型完全吻合;若只需要在表中插入部分字段的值,就需要列出要插入數(shù)據(jù)的字段名,并給出相應的值。6.4SQL的數(shù)據(jù)操縱功能6.4.1插入記錄【例6-22】給Course表中插入兩門課程信息記錄,記錄數(shù)據(jù)如下:CourseNoCourseNameHoursCredit Memo0005數(shù)據(jù)庫應用技術603各專業(yè)都要學習0006 計算機網(wǎng)絡技術與應用

使用的語句如下:INSERTINTOCourse(CourseNo,CourseName,Hours,Credit,Memo)VALUES('0005','數(shù)據(jù)庫應用技術',60,3,'各專業(yè)都要學習')INSERTINTOCourse(CourseNo,CourseName)VALUES('0006','計算機網(wǎng)絡技術與應用')INSERTINTOCourseVALUES('0005','數(shù)據(jù)庫應用技術',60,3,'各專業(yè)都要學習')6.4SQL的數(shù)據(jù)操縱功能6.4.2修改記錄

【格式】UPDATE<表名>SET<字段名1>=<表達式1>[,<字段名2>=<表達式2>[,…]][WHERE<條件>]【功能】對由“表名”指定的表中滿足WHERE后面的“條件”的記錄(若無WHERE子句將修改所有記錄)進行修改,修改方法是:以“表達式1”的值替換“字段名1”中的值,以“表達式2”的值替換“字段名2”中的值,以此類推。

【例6-23】將SelectCourse表中的“0003”號課的所有成績增加3分。

UPDATESelectCourseSETScore=Score+3WHERECourseNo='0003'6.4SQL的數(shù)據(jù)操縱功能6.4.2修改記錄

【格式】DELETEFROM<表名>[WHERE<條件>]【功能】從由“表名”指定的表中刪除滿足給定“條件”的記錄,當缺省WHERE子句時,表示刪除表中的全部記錄。

【例6-24】把Course表中CourseNo字段值為“0005”和“0006”的課程刪除。DELETEFROMCourseWHERECourseNo='0005'DELETEFROMCourseWHERECourseNo='0006'DELETEFROMCourseWHERECourseNo='0005'ORCourseNo='0006'6.5視圖的創(chuàng)建與使用6.5.1視圖綜述視圖中的數(shù)據(jù)是在視圖被使用時通過查詢語句動態(tài)生成的,它隨著基表(視圖數(shù)據(jù)來源的表)的變化而變化。使用視圖不但可以從若干個表或視圖中提取一組記錄,而且可以更新這些記錄的值,并把更新結果送回到基本表中。關于視圖,需注意以下兩點:一是視圖是數(shù)據(jù)庫的一部分,訪問視圖前必須先打開所在的數(shù)據(jù)庫;二是視圖是基于一個或多個基表的虛擬表,本身不含數(shù)據(jù),其數(shù)據(jù)是在打開視圖時臨時從基表中提取的。

使用視圖主要有以下優(yōu)點:便于數(shù)據(jù)集中,滿足不同用戶對數(shù)據(jù)的不同需求;簡化數(shù)據(jù)查詢和處理操作;將用戶的注意力集中到所關心的字段上,對數(shù)據(jù)提供安全保護等。

6.5視圖的創(chuàng)建與使用6.5.2視圖的創(chuàng)建【格式】CREATEVIEW<視圖名>[(<字段名1>[,…])][WITHNCRYPTION]AS{SELECT語句}[WITHCHECKOPTION]【功能】為當前數(shù)據(jù)庫建立一個由<視圖名>指定的視圖,其包含的數(shù)據(jù)是SELECT語句查詢的結果。當帶有WITHCHECKOPTION選項時,用戶必須保證向視圖中插入數(shù)據(jù)時,該數(shù)據(jù)滿足視圖定義中的SELECT語句所指定的條件。1.使用SQL語句創(chuàng)建視圖6.5視圖的創(chuàng)建與使用6.5.2視圖的創(chuàng)建【例6-25】建立兩個視圖,名為“NetStudent”和“AppStudent”,里面分別包含了所有“計算機網(wǎng)絡”專業(yè)的學生信息以及所有“計算機應用”專業(yè)的學生信息。CREATEVIEWNetStudentASSELECT*FROMStudentWHEREMajor='計算機網(wǎng)絡'CREATEVIEWAppStudentASSELECT*FROMStudentWHEREMajor='計算機應用'

1.使用SQL語句創(chuàng)建視圖6.5視圖的創(chuàng)建與使用6.5.2視圖的創(chuàng)建【例6-26】為CollegeMIS數(shù)據(jù)庫建立名ScoreReport的視圖,該視圖中存放所有學生的學習情況,包括學號、姓名、課號、課程名、成績。CREATEVIEWScoreReportASSELECTS.StuNo,S.StuName,C.CourseNo,C.CourseName,SC.ScoreFROMStudentSINNERJOINSelectCourseSCINNERJOINCourseCONSC.CourseNo=C.CourseNoONS.StuNo=SC.StuNo1.使用SQL語句創(chuàng)建視圖6.5視圖的創(chuàng)建與使用6.5.2視圖的創(chuàng)建【例6-27】為CollegeMIS數(shù)據(jù)庫建立名ProfessorCourse的視圖,該視圖查詢出所有職稱(字段名為Title)為“教授”或“副教授”的教師,教的每一門課的選課人數(shù)及平均分。2.在SQLServer2000中創(chuàng)建視圖

圖6-28設計好的視圖及視圖中的數(shù)據(jù)

6.5視圖的創(chuàng)建與使用6.5.3視圖定義信息的查詢

(1)在企業(yè)管理器中,展開至CollegeMIS數(shù)據(jù)庫,單擊視圖圖標“視圖”,在右側“內(nèi)容顯示”窗口中將會出現(xiàn)本數(shù)據(jù)庫中的所有視圖名。1.使用企業(yè)管理器

(2)在“ProfessorCourse”視圖上單擊右鍵,在出現(xiàn)的快捷菜單中選擇“屬性”菜單項,將會出現(xiàn)如圖6-31所示的視圖的“查看屬性”對話框。在該對話框中不僅可以看到視圖的定義信息,而且還可以直接修改視圖的定義,還可以通過按“檢查語法”按鈕檢查創(chuàng)建視圖語句的正確性。6.5視圖的創(chuàng)建與使用6.5.3視圖定義信息的查詢

[EXEC]sp_helptextviewname2.使用系統(tǒng)存儲過程

USECollegeMISGOEXECsp_helptextNetStudentGO6.5視圖的創(chuàng)建與使用6.5.4視圖的修改

【格式】ALTERVIEW<視圖名>[(<字段名1>[,…])][WITHNCRYPTION]AS{SELECT語句}[WITHCHECKOPTION]1.使用SQL語句【功能】對由“視圖名”指定的視圖進行修改。

6.5視圖的創(chuàng)建與使用6.5.4視圖的修改(1)在企業(yè)管理器中,展開至CollegeMIS數(shù)據(jù)庫,單擊視圖圖標,在右側“內(nèi)容顯示”窗口中將會出現(xiàn)本數(shù)據(jù)庫中的所有視圖名。2.使用企業(yè)管理器

(2)在“ProfessorCourse”視圖上單擊右鍵,在出現(xiàn)的快捷菜單中選擇“設計視圖”菜單項,將會出現(xiàn)如圖6-28所示的視圖設計器,在該設計器中顯示出選中視圖的設計信息。(3)在視圖設計器中,用戶可以對視圖信息進行修改,修改方法與設計視圖一樣。修改完成后,單擊工具欄上的保存按鈕即可。6.5視圖的創(chuàng)建與使用6.5.5視圖的使用

通過視圖修改數(shù)據(jù),有以下幾點需要注意:(1)不能在一個語句中修改多個基表中的數(shù)據(jù)。如果要修改由兩個或兩個以上基表得到的視圖,必須進行多次修改,每次修改只能影響一個基表。(2)對于基表中需更新而又不允許空值的所有字段,它們的值必須在INSERT語句或DEFAULT定義中指定。這將確?;碇兴行枰档淖侄味伎梢垣@取值。(3)通過計算得到結果的字段的值不能修改。(4)若在視圖定義中使用了WITHCHECKOPTION子句,則對

溫馨提示

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

評論

0/150

提交評論