培訓(xùn)體系用友SQL培訓(xùn)資料(U、U)_第1頁(yè)
培訓(xùn)體系用友SQL培訓(xùn)資料(U、U)_第2頁(yè)
培訓(xùn)體系用友SQL培訓(xùn)資料(U、U)_第3頁(yè)
培訓(xùn)體系用友SQL培訓(xùn)資料(U、U)_第4頁(yè)
培訓(xùn)體系用友SQL培訓(xùn)資料(U、U)_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

培訓(xùn)體系用友SQL培訓(xùn)資料(U、U)U8產(chǎn)品支持部引言本專刊主要針對(duì)于剛剛加入用友維護(hù)隊(duì)伍、希望快速提高個(gè)人感謝閱讀面向U8軟件維護(hù)工作的SQLServer謝謝閱讀用于SQLServer初學(xué)者。注意:本??菫镾QLServer快速入門而編寫(xiě),內(nèi)容簡(jiǎn)單概括,讀謝謝閱讀者要使自己的SQLServer水平有質(zhì)的提高,在實(shí)際工作中要充分利精品文檔放心下載用SQLServer聯(lián)機(jī)幫助,它是最具權(quán)威的參考資料。精品文檔放心下載本??饕獌?nèi)容:第一章概述U8數(shù)據(jù)庫(kù)特點(diǎn)、常用的SQL工具、語(yǔ)法格式,以及精品文檔放心下載SQLServer數(shù)據(jù)庫(kù)中的一些常用的術(shù)語(yǔ)。第二章和第三章主要介紹SQL的基礎(chǔ)、高級(jí)應(yīng)用。第四章U8維護(hù)工作中感謝閱讀最為常用的分析工具。附錄內(nèi)容包括組成數(shù)據(jù)庫(kù)對(duì)象的概念、SQLSERVER的系統(tǒng)組成謝謝閱讀以及Transact_SQLSQLServer信息謝謝閱讀的快速參考。2信息反饋:由于時(shí)間和水平有限,不當(dāng)之處和錯(cuò)誤在所難免,如果在閱讀精品文檔放心下載中發(fā)現(xiàn)本??绣e(cuò)誤之處,懇請(qǐng)讀者批評(píng)指正!如果讀者對(duì)本刊的編制或SQLServer學(xué)習(xí)方面有好的意見(jiàn)或建感謝閱讀議,敬請(qǐng)email至如下地址:陳媛cheny@陳湘林gccxl@馬大剛mdg@致謝:本期SQLServer??窃趦善谛聠T工、部分分公司維護(hù)人員進(jìn)精品文檔放心下載行的SQLServer培訓(xùn)的基礎(chǔ)上整理而成。參與培訓(xùn)人員對(duì)本??母兄x閱讀編制提供了很多有益的意見(jiàn)和建議,在這里對(duì)他們積極支持和配合謝謝閱讀(特別是新員工李丹,對(duì)最后定稿的排版、勘誤做了大量工作)致以精品文檔放心下載衷心的感謝!U8產(chǎn)品支持部目錄第一章概述7精品文檔放心下載第一節(jié)U8數(shù)據(jù)庫(kù)簡(jiǎn)述7謝謝閱讀第二節(jié)常用的SQL工具簡(jiǎn)介9謝謝閱讀第三節(jié)數(shù)據(jù)庫(kù)中的常用術(shù)語(yǔ)和概念10謝謝閱讀第四節(jié)SQL語(yǔ)法格式說(shuō)明11精品文檔放心下載第二章SQL基礎(chǔ)應(yīng)用13感謝閱讀第一節(jié)簡(jiǎn)單的SELECT查詢14謝謝閱讀第二節(jié)SELECT語(yǔ)句中的常用子句及函數(shù)14精品文檔放心下載第三節(jié)連接(JOIN)語(yǔ)句16謝謝閱讀第四節(jié)數(shù)據(jù)操作語(yǔ)句20精品文檔放心下載第五節(jié)SELECT子查詢語(yǔ)句21謝謝閱讀第三章SQL高級(jí)應(yīng)用24感謝閱讀第一節(jié)創(chuàng)建、刪除數(shù)據(jù)庫(kù)和表24謝謝閱讀第二節(jié)創(chuàng)建視圖和索引25謝謝閱讀第三節(jié)創(chuàng)建和執(zhí)行存儲(chǔ)過(guò)程、觸發(fā)器和游標(biāo)27精品文檔放心下載第四節(jié)系統(tǒng)存儲(chǔ)過(guò)程、系統(tǒng)表30精品文檔放心下載第四章事件探查器33感謝閱讀第一節(jié)創(chuàng)建跟蹤33感謝閱讀第二節(jié)事件探查器的精確跟蹤37謝謝閱讀第三節(jié)實(shí)際工作中事件探查器的應(yīng)用38謝謝閱讀附錄:40謝謝閱讀4第一章概述SQL(StructuredQueryLanguage,結(jié)構(gòu)化查詢語(yǔ)言)是一種謝謝閱讀現(xiàn)今流行的數(shù)據(jù)庫(kù)語(yǔ)言,目前主流的數(shù)據(jù)庫(kù)產(chǎn)品都支持這種語(yǔ)言,謝謝閱讀如常見(jiàn)的MicrosoftAccessMicrosoftSQLServerOracleSybase、謝謝閱讀MySQL等,并且這些數(shù)據(jù)庫(kù)產(chǎn)品都不同程度上對(duì)標(biāo)準(zhǔn)的SQL進(jìn)行了感謝閱讀擴(kuò)展,以使SQL應(yīng)用更為高效。用友產(chǎn)品以MicrosoftAccess(如8.12A版本)或精品文檔放心下載MicrosoftSQLServer(如U8以上版本)作為后臺(tái)數(shù)據(jù)庫(kù),目前感謝閱讀(8.x、U8)不支持其他的數(shù)據(jù)庫(kù)產(chǎn)品。第一節(jié)U8數(shù)據(jù)庫(kù)簡(jiǎn)述1.1U8數(shù)據(jù)庫(kù)用友U8系列產(chǎn)品的后臺(tái)數(shù)據(jù)庫(kù)是采用MicrosoftSQLServer。謝謝閱讀U8系列產(chǎn)品的數(shù)據(jù)庫(kù)按功能主要可分為三類:A.系統(tǒng)數(shù)據(jù)庫(kù)UFSystem;B.賬套數(shù)據(jù)庫(kù)UFData_xxx_xxxx(如UFData_999_2003謝謝閱讀中999表示賬套號(hào),2003C.模板數(shù)據(jù)庫(kù)UFModel。其中UFSystem庫(kù)用于存儲(chǔ)一些公共系統(tǒng)信息,如操作員信息、精品文檔放心下載UFData_xxx_xxxxUFModel感謝閱讀庫(kù)在新建賬套時(shí)作為模板數(shù)據(jù)庫(kù)使用。每個(gè)SQLServer數(shù)據(jù)庫(kù)是由兩類文件組成:一類是數(shù)據(jù)文件,精品文檔放心下載包括主數(shù)據(jù)文件(擴(kuò)展名為mdf)和次要數(shù)據(jù)文件(擴(kuò)展名為ndf,感謝閱讀該類文件不是必須的,U8精品文檔放心下載件(擴(kuò)展名為ldfU8產(chǎn)品支持部1.28.X數(shù)據(jù)庫(kù)用友早期產(chǎn)品以Access為后臺(tái)數(shù)據(jù)庫(kù),這些產(chǎn)品(如8.12A)精品文檔放心下載目前仍有很多用戶在使用。大部分8.X產(chǎn)品的系統(tǒng)庫(kù)和賬套數(shù)據(jù)庫(kù)都是Access數(shù)據(jù)庫(kù)類型。感謝閱讀每個(gè)Access數(shù)據(jù)庫(kù)只對(duì)應(yīng)一個(gè)文件,以mdb為擴(kuò)展名。感謝閱讀以Access為后臺(tái)數(shù)據(jù)庫(kù)的產(chǎn)品,用Access軟件可以直接打開(kāi)謝謝閱讀謝謝閱讀Access為后臺(tái)數(shù)據(jù)庫(kù)的產(chǎn)品安裝盤中有壓縮的演示賬精品文檔放心下載Winzip精品文檔放心下載為以.mdb為結(jié)尾,就可以作為參照的數(shù)據(jù)字典使用。1.3SQLServer和MSDE的關(guān)系MSDE是SQLServer精品文檔放心下載SQLServerSQLServer精品文檔放心下載MSDE本身沒(méi)有一個(gè)可視化的操作界面,只是在后臺(tái)運(yùn)精品文檔放心下載行,不過(guò),SQLServer等數(shù)據(jù)庫(kù)軟件仍可以在遠(yuǎn)程訪問(wèn)控制該數(shù)據(jù)謝謝閱讀庫(kù)。雖然用友支持SQLServer的產(chǎn)品也支持MSDE精品文檔放心下載的某些數(shù)據(jù)庫(kù)高級(jí)功能則要求用戶必須使用SQLServer作為后臺(tái)數(shù)精品文檔放心下載謝謝閱讀發(fā)現(xiàn),MSDE出現(xiàn)異常的情況遠(yuǎn)多于SQLServer。所以,在維護(hù)中如精品文檔放心下載果遇到以MSDE作為后臺(tái)數(shù)據(jù)庫(kù)的情況應(yīng)多加注意此方面的問(wèn)題。感謝閱讀1.4MicrosoftSQLServer、MSDE與Access數(shù)據(jù)庫(kù)的比較感謝閱讀MicrosoftSQLServer和MSDE支持的功能遠(yuǎn)多于Access,感謝閱讀Access通常不支持SQL的高級(jí)功能,如:存儲(chǔ)過(guò)程、觸發(fā)器等。精品文檔放心下載MicrosoftSQLServer配有強(qiáng)大的輔助工具,特別是事件探查精品文檔放心下載器工具,而Access產(chǎn)品沒(méi)有實(shí)現(xiàn)此類功能的工具。另外,Access謝謝閱讀的產(chǎn)品的安全性也遠(yuǎn)低于SQLServer產(chǎn)品。6第二節(jié)常用的SQL工具簡(jiǎn)介SQL本身是一種語(yǔ)言,需要在特定的環(huán)境中運(yùn)行。U8產(chǎn)品的感謝閱讀MicrosoftSQLServerMSDE以及8.12A產(chǎn)品的Access都為SQL提感謝閱讀供了運(yùn)行環(huán)境。為了使8.X、U8系列產(chǎn)品正常運(yùn)行,必須要先安裝好對(duì)應(yīng)的后謝謝閱讀MicrosoftAccess和MicrosoftSQLServer如謝謝閱讀2.1MicrosoftSQLServerSQLServer中常用的工具包括:企業(yè)管理器、查詢分析器、事精品文檔放心下載件探查器等。如圖1所示:圖1企業(yè)管理器:可進(jìn)行各種可視化的操作,功能強(qiáng)大,但由于其運(yùn)行精品文檔放心下載時(shí)消耗資源較大,所以當(dāng)計(jì)算機(jī)硬件條件不好或者SQLServer負(fù)載精品文檔放心下載太大時(shí),會(huì)有操作反映遲鈍等問(wèn)題。查詢分析器:是交互式圖形工具,它使數(shù)據(jù)庫(kù)管理員或開(kāi)發(fā)人員能精品文檔放心下載謝謝閱讀得提高查詢性能的幫助。事件探查器:是圖形工具,使系統(tǒng)管理員得以監(jiān)視Microsoft?謝謝閱讀SQLServer?實(shí)例中的事件??梢圆东@有關(guān)每個(gè)事件的數(shù)據(jù)并將其精品文檔放心下載保存到文件或SQLServer表中供以后分析。謝謝閱讀2.2MicrosoftAccess快捷方式如圖1所示。第三節(jié)數(shù)據(jù)庫(kù)中的常用術(shù)語(yǔ)和概念本節(jié)主要介紹一些常用的SQLServer術(shù)語(yǔ)和概念,更多術(shù)語(yǔ)請(qǐng)感謝閱讀參考聯(lián)機(jī)幫助中的“詞匯表”內(nèi)容,查詢位置如圖2所示。謝謝閱讀U8產(chǎn)品支持部圖2數(shù)據(jù)庫(kù)(database)精品文檔放心下載感謝閱讀如:UFData_999_2003就是一個(gè)數(shù)據(jù)庫(kù)。表(table)謝謝閱讀據(jù)庫(kù)中的數(shù)據(jù)。每個(gè)表存儲(chǔ)有關(guān)由數(shù)據(jù)庫(kù)建模的一類對(duì)象的信息。感謝閱讀例如,某個(gè)教育數(shù)據(jù)庫(kù)將具有一個(gè)教師表、一個(gè)學(xué)生表和一個(gè)課程謝謝閱讀表。字段(field)精品文檔放心下載數(shù)據(jù)庫(kù)(如MicrosoftAccess)將字段用作列的同義詞。如感謝閱讀Accinformation表中的cSysID字段。精品文檔放心下載記錄(record):視作一個(gè)單元信息的一組相關(guān)字段(列)。在感謝閱讀SQL數(shù)據(jù)庫(kù)中記錄更經(jīng)常被稱作行。第四節(jié)SQL語(yǔ)法格式說(shuō)明在SQLServer聯(lián)機(jī)幫助中,可看到如下語(yǔ)句語(yǔ)法:感謝閱讀SELECT[ALL|DISTINCT][TOPn[PERCENT][WITHTIES]]謝謝閱讀<select_list><select_list>::={*|{table_name|view_name|table_alias}.*謝謝閱讀|{column_name|expression|精品文檔放心下載IDENTITYCOL|ROWGUIDCOL}感謝閱讀[[AS]column_alias]|column_alias=expression謝謝閱讀8}[,...n]如何理解上句中的各種符號(hào)的涵義呢?在聯(lián)機(jī)幫助中搜索感謝閱讀“Transact-SQL語(yǔ)法規(guī)則,會(huì)找到如圖3所示內(nèi)容,其中包含了精品文檔放心下載詳細(xì)的SQL語(yǔ)法符號(hào)的具體涵義。圖3本章小結(jié):本章只是簡(jiǎn)要介紹了一些比較基礎(chǔ)的術(shù)語(yǔ)和概念,目的是使讀感謝閱讀者對(duì)SQLServer有個(gè)總體的印象,以便能有效的進(jìn)行后續(xù)的學(xué)習(xí)。精品文檔放心下載更多的內(nèi)容還請(qǐng)參閱聯(lián)機(jī)幫助。第二章SQL基礎(chǔ)應(yīng)用讓我們從Select語(yǔ)句開(kāi)始對(duì)SQL感謝閱讀的SQL語(yǔ)句均在SQLServerSQL語(yǔ)言的學(xué)習(xí),感謝閱讀關(guān)鍵是要邊學(xué)習(xí)邊實(shí)踐,讀者可以在SQLServer查詢分析器中實(shí)際謝謝閱讀練習(xí)本??峁┑恼Z(yǔ)句。Select謝謝閱讀表中選擇一個(gè)或多個(gè)行或列,該語(yǔ)句包含眾多的子句,功能強(qiáng)大,精品文檔放心下載使用靈活。下面先簡(jiǎn)要說(shuō)明在SQLServer查詢分析器中執(zhí)行SQL語(yǔ)句的步謝謝閱讀驟:第一步:運(yùn)行查詢分析器,如圖3所示:圖33use精品文檔放心下載ufdata_887_2004后,點(diǎn)擊綠色箭頭(或直接按F5)執(zhí)行,該語(yǔ)句精品文檔放心下載中,use為連接目標(biāo)數(shù)據(jù)庫(kù)的SQL關(guān)鍵字,ufdata_887_2004是要進(jìn)精品文檔放心下載U8產(chǎn)品支持部行相應(yīng)操作的目標(biāo)數(shù)據(jù)庫(kù)。第三步:執(zhí)行相應(yīng)的SQL語(yǔ)句(如圖3中的select*from精品文檔放心下載accinformation第一節(jié)簡(jiǎn)單的SELECT查詢?cè)赟QLServer的查詢分析器中執(zhí)行如下兩句SQL語(yǔ)句:精品文檔放心下載USENorthwindSELECT*FROM[OrderDetails]謝謝閱讀執(zhí)行該語(yǔ)句返回OrderDetails表中包含所有列的記錄。這兩謝謝閱讀句SQL語(yǔ)句也可以合并為一條語(yǔ)句:SELECT*FROMNorthwind..[OrderDetails]謝謝閱讀Northwind..[OrderDetails]表示[OrderDetails]表是感謝閱讀Northwind數(shù)據(jù)庫(kù)中的表,使用這種形式,就不用再提前連接數(shù)據(jù)感謝閱讀庫(kù)了(即不用使用use注意:由于上面語(yǔ)句中表名OrderDetails兩個(gè)單詞之間存在謝謝閱讀空格,所以使用中括號(hào),如果表名中不存在空格,如表名為精品文檔放心下載Orderdetails,則中括號(hào)可以省略。第二節(jié)Select語(yǔ)句中的常用子句及函數(shù)2.1SQL中函數(shù)的使用在SQL中的函數(shù)可以執(zhí)行一些儲(chǔ)如對(duì)某一列進(jìn)行匯總或?qū)⒁恢x謝閱讀謝謝閱讀日期與時(shí)間函數(shù)、數(shù)學(xué)函數(shù)、轉(zhuǎn)換函數(shù)和字符函數(shù)等,具體內(nèi)容參感謝閱讀見(jiàn)附錄。在這里以一個(gè)最常用的聚合函數(shù)為例。sum()感謝閱讀到查詢分析器中執(zhí)行如下語(yǔ)句(求數(shù)量的總和):10SELECTsum(quantity)FROMNorthwind..[OrderDetails]謝謝閱讀*,并且該列必精品文檔放心下載須是數(shù)值型。2.2Select語(yǔ)句的常用子句SelectWhereOrderByGroupbyHaving,謝謝閱讀Join等。Join謝謝閱讀的用法。2.2.1Where子句Where子句的作用是指定查詢返回行的條件。如:返回Northwind感謝閱讀數(shù)據(jù)庫(kù)中OrderDetailsquantity100的記謝謝閱讀錄,SQL語(yǔ)句可寫(xiě)為:SELECT*FROMNorthwind..[OrderDetails]Where精品文檔放心下載quantity>1002.2.2OrderBy子句OrderBy子句是用來(lái)指定在SELECT語(yǔ)句返回的列中所使用精品文檔放心下載OrderIDSQL語(yǔ)句可寫(xiě)精品文檔放心下載為:USENorthwindSELECT*FROM[OrderDetails]ORDERBYOrderID精品文檔放心下載2.2.3GroupBy子句GroupBy子句主要和函數(shù)連用(如sum函數(shù)),按指定列匯總。謝謝閱讀Northwind數(shù)據(jù)庫(kù)中OrderDetails表中,productID字段相謝謝閱讀同的數(shù)量之和,SQL語(yǔ)句可寫(xiě)為:SELECTProductID,sum(quantity)FROMNorthwind..[Order謝謝閱讀Details]GroupByProductID謝謝閱讀U8產(chǎn)品支持部2.2.4Having子句Having子句一般要和GROUPBY感謝閱讀條件,數(shù)量之和大于1000的返回記錄,SQL語(yǔ)句可寫(xiě)為:謝謝閱讀SELECTProductID,sum(quantity)FROMNorthwind..[Order精品文檔放心下載Details]GroupByProductIDHavingsum(quantity)>1000精品文檔放心下載2.2.5Where子句和Having子句的區(qū)別謝謝閱讀Where子句和HavingGroupBy連用時(shí),Where謝謝閱讀后面的條件是先排除再進(jìn)行GroupBy匯總;而Having是在GroupBy感謝閱讀匯總后,再用后面的條件進(jìn)行篩選。另外Having語(yǔ)句后的條件可以是感謝閱讀聚合函數(shù)(如sum函數(shù)、Maxwhere后不能接聚合函數(shù)。如精品文檔放心下載下面的語(yǔ)句:SELECTProductID,sum(quantity)FROMNorthwind..[Order謝謝閱讀Details]GroupByProductIDHavingsum(quantity)>1000精品文檔放心下載如果用Where語(yǔ)句后加相同篩選條件則無(wú)法實(shí)現(xiàn)目標(biāo)功能。精品文檔放心下載第三節(jié)連接(Join)語(yǔ)句JoinJoin分為感謝閱讀內(nèi)連接和外連接。內(nèi)連接為[Inner]Join(默認(rèn)形式,Inner可以謝謝閱讀LeftOuterJoinRightOuterJoinFull感謝閱讀OuterJoin(其中的Outer感謝閱讀下面舉一個(gè)例子來(lái)說(shuō)明Joinfather和感謝閱讀sonfather表的Fid字段和Son表的Fid字段是對(duì)謝謝閱讀應(yīng)的):father表FidName1A2B3C12Son表SidNameFid1Ason112Ason213Ason314Cson135Cson236Dson143.1使用內(nèi)連接語(yǔ)句InnerJoin連接InnerJoin感謝閱讀結(jié)果中顯示。如果未指定聯(lián)接類型,則該連接形式為默認(rèn)形式。謝謝閱讀在SQLServer查詢分析器中執(zhí)行如下語(yǔ)句:Select*FromfatherJoinsonOnfather.fid=謝謝閱讀son.fid結(jié)果如下:FidNameSidNameFid11A1Ason1121A2Ason2131A3Ason3143C4Cson1353C5Cson233.2使用左連接語(yǔ)句LeftOuterJoin連接謝謝閱讀LeftOuterJoin指定在結(jié)果集中除包含左右表中匹配的數(shù)據(jù)感謝閱讀外,還返回左表中所有不滿足聯(lián)接條件的行,且右表中相應(yīng)字段值精品文檔放心下載為NULL。其中Outer可以省略,但Left和Join關(guān)鍵字不可省略。精品文檔放心下載在SQLServer查詢分析器中執(zhí)行如下語(yǔ)句:Select*FromfatherLeftJoinsonOnfather.fid=感謝閱讀U8產(chǎn)品支持部son.fid結(jié)果如下(注意下表中的NULL):FidNameSidNameFid11A1Ason1121A2Ason2131A3Ason3142BNULLNULLNULL53C4Cson1363C5Cson23在SQLServer查詢分析器中執(zhí)行如下語(yǔ)句:Select*fromfatherleftjoinsononfather.fid=謝謝閱讀son.fidwhereisnull謝謝閱讀father表中有,而在son表中沒(méi)有對(duì)應(yīng)精品文檔放心下載的記錄。3.3使用右連接語(yǔ)句RightOuterJoin連接感謝閱讀RightOuterJoin語(yǔ)句和LeftOuterJoin語(yǔ)句的用法原理感謝閱讀RightOuterJoin語(yǔ)句是在結(jié)果集中除包含左右表中匹配的感謝閱讀數(shù)據(jù)外,還返回右表中所有不滿足聯(lián)接條件的行,且左表中相應(yīng)字感謝閱讀段值為NULL。其中Outer可以省略,但Right和Join關(guān)鍵字不可感謝閱讀省略。在SQLServer查詢分析器中執(zhí)行如下語(yǔ)句:Select*FromfatherRightJoinsonOnfather.fid謝謝閱讀=son.fid結(jié)果如下(注意下表中的NULL):FidNameSidNameFid11A1Ason1121A2Ason2131A3Ason311443C4Cson1353C5Cson236NULLNULL6Dson14在SQLServer查詢分析器中執(zhí)行如下語(yǔ)句:Select*fromfatherRightjoinsononfather.fid=謝謝閱讀son.fidwhereisnull感謝閱讀Son表中有,而在father表中沒(méi)有對(duì)應(yīng)精品文檔放心下載的記錄。3.4使用全連接語(yǔ)句FullOuterJoin連接精品文檔放心下載FullOuterJoin是指定在結(jié)果集中包含左表或右表中不滿足謝謝閱讀NULL感謝閱讀常由INNERJOINOuter精品文檔放心下載Full和Join關(guān)鍵字不可省略。在SQLServer查詢分析器中執(zhí)行如下語(yǔ)句:Select*FromfatherFullJoinsonOnfather.fid=感謝閱讀son.fid結(jié)果如下(注意下表中的NULL):FidNameSidNameFid11A1Ason1121A2Ason2131A3Ason3143C4Cson1353C5Cson236NULLNULL6Dson1472BNULLNULLNULL在SQLServer查詢分析器中執(zhí)行如下語(yǔ)句:Select*fromfatherFulljoinsononfather.fid=感謝閱讀U8產(chǎn)品支持部son.fidwhereisnullOrisnull精品文檔放心下載Son表中有,而在father表中沒(méi)有對(duì)應(yīng)謝謝閱讀的記錄以及在Father表中有,而在son表中沒(méi)有對(duì)應(yīng)的記錄。精品文檔放心下載3.5Join子句小結(jié)在U8產(chǎn)品中,大量使用了InnerJoin、LeftJoin、Right感謝閱讀Join和FullJoin子句。Join謝謝閱讀IN子句可以實(shí)現(xiàn),感謝閱讀但I(xiàn)N子句實(shí)現(xiàn)的功能要比Join語(yǔ)句簡(jiǎn)單很多。因此一定要重點(diǎn)學(xué)精品文檔放心下載習(xí)Join語(yǔ)句的各種靈活使用的方法。In子句會(huì)在Select語(yǔ)句子查詢語(yǔ)句中講解。3.6Union子句的用法Join子句是用來(lái)將兩個(gè)表橫向連接起來(lái)組成一個(gè)新表,而感謝閱讀Union子句是將兩個(gè)表縱向連接起來(lái)組成一個(gè)新表。當(dāng)然,Union縱向連接兩個(gè)表是有限制條件的:兩個(gè)表的列數(shù)感謝閱讀感謝閱讀具體的Union語(yǔ)法請(qǐng)查詢聯(lián)機(jī)幫助。第四節(jié)數(shù)據(jù)操作語(yǔ)句數(shù)據(jù)操作語(yǔ)句包括INSERT、UPDATE和DELETE等感謝閱讀4.1插入InsertInto子句使用方法可以使用INSERTINTO在當(dāng)前表中創(chuàng)建新行。謝謝閱讀在SQLServer查詢分析器中執(zhí)行如下語(yǔ)句:INSERTINTOpubs..titles(title_id,title,type,pub_id,price)謝謝閱讀VALUES('BU9876','CreatingWebPages','business',謝謝閱讀'1389',29.99)16Pubs..titles是插入操作的目標(biāo)數(shù)據(jù)表,title_id、title、謝謝閱讀type、pub_id、price是目標(biāo)數(shù)據(jù)表的列名字,Values關(guān)鍵字后謝謝閱讀面是要插入對(duì)應(yīng)列的具體數(shù)據(jù)。4.2DELETE刪除子句使用方法DELETE從表中刪除行。為了盡可能的減少誤操作最好在執(zhí)行謝謝閱讀delete語(yǔ)句之前,先執(zhí)行對(duì)應(yīng)的select語(yǔ)句,以確定Where后面精品文檔放心下載條件的準(zhǔn)確性。在SQLServer查詢分析器中執(zhí)行如下語(yǔ)句(刪除剛才插入的記感謝閱讀錄):select*frompubs..titleswheretitle_id='BU9876'謝謝閱讀deletefrompubs..titleswheretitle_id='BU9876'感謝閱讀4.3UpDate子句使用方法UPDATE精品文檔放心下載操作最好在執(zhí)行UPDATE語(yǔ)句之前,先執(zhí)行對(duì)應(yīng)的select語(yǔ)句,以精品文檔放心下載確定Where后面條件的準(zhǔn)確性。在SQLServer查詢分析器中執(zhí)行如下語(yǔ)句(更改剛才插入的記感謝閱讀錄,如果已經(jīng)刪除,請(qǐng)重新用InsertInto插入語(yǔ)句插入相應(yīng)的數(shù)謝謝閱讀據(jù)):select*frompubs..titleswheretitle_id='BU9876'精品文檔放心下載UpDatepubs..titlessetprice=200wheretitle_id感謝閱讀='BU9876'4.4SelectInto子句使用方法SELECT…INTOnew_tableFrom…子句創(chuàng)建新表并將查詢的謝謝閱讀結(jié)果行插入新表中。在SQLServer查詢分析器中執(zhí)行如下語(yǔ)句:Select*Intopubs..new_table1U8產(chǎn)品支持部Frompubs..titles用語(yǔ)句Select*frompubs..new_table1可以查詢出剛才新感謝閱讀生成的表及其中剛剛插入的數(shù)據(jù)。注意:SelectInto子句并不能將原來(lái)表的一些關(guān)系復(fù)制到新表中謝謝閱讀(如外鍵等),它只能插入相應(yīng)的數(shù)據(jù)。所以要想既復(fù)制表關(guān)系又精品文檔放心下載SQLServer企業(yè)管理器中提供的導(dǎo)表功能。感謝閱讀第五節(jié)Select子查詢語(yǔ)句5.1子查詢使用方法子查詢是一個(gè)SELECT查詢,任何允許使用表達(dá)式的地方都可謝謝閱讀以使用子查詢。在SQLServer查詢分析器中執(zhí)行如下語(yǔ)句(一個(gè)子查詢用作感謝閱讀SELECT語(yǔ)句中名為MaxUnitPrice的列表達(dá)式):感謝閱讀SELECTOrd.OrderID,Ord.OrderDate,謝謝閱讀(SELECTMAX(OrdDet.UnitPrice)感謝閱讀FROMNorthwind.dbo.[OrderDetails]ASOrdDet感謝閱讀WHEREOrd.OrderID=OrdDet.OrderID)AS精品文檔放心下載MaxUnitPriceFROMNorthwind.dbo.OrdersASOrd謝謝閱讀其中的As關(guān)鍵字用于指定別名。5.2In子句的使用方法IN子句是確定給定的值是否與子查詢或列表中的值相匹配。感謝閱讀下面的示例選擇名稱和州的列表,列表中列出所有居住在加利謝謝閱讀福尼亞、印地安納或馬里蘭州的作者:SELECTau_lname,stateFROMpubs..authorsWHEREstateIN('CA','IN','MD')謝謝閱讀18“3.2左連接語(yǔ)句LeftOuter精品文檔放心下載father表中有,而在son表中沒(méi)有對(duì)應(yīng)的記錄):感謝閱讀Select*fromfatherleftjoinsononfather.fid=精品文檔放心下載son.fidwhereisnull精品文檔放心下載對(duì)等的In子句是(注意這個(gè)語(yǔ)句并沒(méi)有將兩個(gè)表橫向連接起感謝閱讀來(lái),同時(shí)也用了子查詢語(yǔ)句):Select*fromfatherwherefather.fidNotIn(Select精品文檔放心下載fidfromson)本章小結(jié):本章主要講解了SQL語(yǔ)句的常用語(yǔ)法。Select語(yǔ)句及其子句靈精品文檔放心下載U8維護(hù)工作中,Join子句是最為常用感謝閱讀的語(yǔ)法,必須重點(diǎn)學(xué)習(xí)。SQL語(yǔ)句一些較為高謝謝閱讀級(jí)靈活的用法,另外學(xué)習(xí)這些語(yǔ)法時(shí),一定要結(jié)合SQLServer的聯(lián)謝謝閱讀機(jī)幫助。U8產(chǎn)品支持部第三章SQL高級(jí)應(yīng)用有了SQL基礎(chǔ),本章開(kāi)始講解一些SQL的高級(jí)應(yīng)用。包括如何謝謝閱讀創(chuàng)建數(shù)據(jù)庫(kù)、表、索引,視圖、存儲(chǔ)過(guò)程、觸發(fā)器、游標(biāo)的簡(jiǎn)單應(yīng)精品文檔放心下載用等,同時(shí)本章也講解一些能有效提高維護(hù)效率的SQL知識(shí):系統(tǒng)感謝閱讀存儲(chǔ)過(guò)程、系統(tǒng)表的應(yīng)用。第一節(jié)創(chuàng)建、刪除數(shù)據(jù)庫(kù)和表1.1創(chuàng)建、刪除數(shù)據(jù)庫(kù)的SQL語(yǔ)法創(chuàng)建數(shù)據(jù)庫(kù)的語(yǔ)法:createdatabase數(shù)據(jù)庫(kù)名精品文檔放心下載CreateDatabasetestData,選中該語(yǔ)句,感謝閱讀按F5執(zhí)行,創(chuàng)建了一個(gè)名字為testData的數(shù)據(jù)庫(kù)。精品文檔放心下載刪除數(shù)據(jù)庫(kù)的語(yǔ)法:dropdatabase數(shù)據(jù)庫(kù)名謝謝閱讀在查詢分析器中寫(xiě):DropDatabasetestData,選中該語(yǔ)句,感謝閱讀按F5執(zhí)行,刪除名字為testData的數(shù)據(jù)庫(kù)。謝謝閱讀1.2創(chuàng)建、修改、刪除數(shù)據(jù)庫(kù)中表的SQL語(yǔ)法創(chuàng)建表的語(yǔ)法:createtable表名20(列名1數(shù)據(jù)類型(長(zhǎng)度)notNULL[NULL],感謝閱讀列名2數(shù)據(jù)類型(長(zhǎng)度)notNULL[NULL],精品文檔放心下載)在查詢分析器中寫(xiě):usetestDataCreatetabletestTable1(idint,namevarchar(20))選中上面的SQL語(yǔ)句,按F5執(zhí)行,創(chuàng)建一個(gè)名字為謝謝閱讀testTable1的表。修改表的關(guān)鍵字是:Altertable(其后可能跟隨ALTER精品文檔放心下載COLUMN、ADD、DROPCOLUMNSQLServer聯(lián)機(jī)幫感謝閱讀助中查詢。刪除表的語(yǔ)法:Droptable表名(可以一次性刪除多個(gè)表,表謝謝閱讀在查詢分析器中寫(xiě):DroptabletestTable1,選中該語(yǔ)句,謝謝閱讀按F5執(zhí)行,刪除名字為testTable1的表。感謝閱讀第二節(jié)創(chuàng)建視圖和索引2.1創(chuàng)建視圖CREATEVIEW是創(chuàng)建一個(gè)虛擬表,該表以另一種方式表示一個(gè)感謝閱讀或多個(gè)表中的數(shù)據(jù)。CREATEVIEW必須是查詢批處理中的第一條語(yǔ)謝謝閱讀句。創(chuàng)建視圖的簡(jiǎn)單語(yǔ)法是:U8產(chǎn)品支持部CREATEVIEW視圖名As…下面的示例為pubs庫(kù)創(chuàng)建的名字為TestView的視圖:謝謝閱讀usepubsgoCreateViewTestViewAsSelect*fromauthors視圖的使用和表基本相同,如:select*frompubs..testview精品文檔放心下載2.2刪除視圖刪除視圖的語(yǔ)法為:dropView視圖名下面的示例為刪除剛剛在pubs庫(kù)的創(chuàng)建的視圖:USEpubsdropviewtestview2.3創(chuàng)建索引精品文檔放心下載建索引。表或視圖的所有者可以隨時(shí)創(chuàng)建索引,無(wú)論表中是否有數(shù)精品文檔放心下載據(jù)。可以通過(guò)指定限定的數(shù)據(jù)庫(kù)名稱,為另一個(gè)數(shù)據(jù)庫(kù)中的表或視感謝閱讀圖創(chuàng)建索引。創(chuàng)建索引的簡(jiǎn)單語(yǔ)法是:create[unique][clustered]index索引名on表名(列謝謝閱讀[asc|desc])下面的示例為pubs庫(kù)的authors表的au_id列創(chuàng)建索引:精品文檔放心下載USEpubsCREATEINDEXau_id_ind22ONauthors(au_id)2.4刪除索引刪除索引的語(yǔ)法為:dropindex表名.索引名下面的示例為刪除剛剛在pubs庫(kù)的authors表的au_id列精品文檔放心下載創(chuàng)建的索引:USEpubsdropindexauthors.au_id_ind謝謝閱讀2.5視圖和表的區(qū)別感謝閱讀視圖是用來(lái)動(dòng)態(tài)的創(chuàng)建一個(gè)表,它占用的數(shù)據(jù)庫(kù)空間比較小(基本感謝閱讀上就是一些SQL謝謝閱讀的缺點(diǎn)就是比視圖占用的數(shù)據(jù)庫(kù)空間大,但執(zhí)行速度比較快。另外精品文檔放心下載視圖是以表為基礎(chǔ)的。第三節(jié)創(chuàng)建和執(zhí)行存儲(chǔ)過(guò)程、觸發(fā)器和游標(biāo)3.1創(chuàng)建存儲(chǔ)過(guò)程創(chuàng)建存儲(chǔ)過(guò)程的關(guān)鍵字是CreateProc(也可以是create精品文檔放心下載procedure)在SQLServer查詢分析器中執(zhí)行如下語(yǔ)句創(chuàng)建一個(gè)名字為精品文檔放心下載testPro的存儲(chǔ)過(guò)程:usepubsgocreateproctestProcasselect*fromauthors帶參數(shù)存儲(chǔ)過(guò)程的創(chuàng)建:U8產(chǎn)品支持部usepubsgocreateproctestProcX@namevarchar(20)感謝閱讀asselect*fromauthorswhereau_lname=@name謝謝閱讀3.2執(zhí)行存儲(chǔ)過(guò)程執(zhí)行無(wú)參數(shù)存儲(chǔ)過(guò)程的語(yǔ)句是:execpubs..testproc執(zhí)行帶參數(shù)存儲(chǔ)過(guò)程的語(yǔ)句是(注意參數(shù)的賦值):execpubs..testprocx@name='white'感謝閱讀3.3刪除存儲(chǔ)過(guò)程刪除無(wú)參數(shù)和帶參數(shù)的存儲(chǔ)過(guò)程的語(yǔ)句分別是:usepubsdropproctestProcusepubsdropproctestprocX3.4創(chuàng)建觸發(fā)器CREATETRIGGER精品文檔放心下載在用戶試圖對(duì)指定的表執(zhí)行指定的數(shù)據(jù)修改語(yǔ)句時(shí)自動(dòng)執(zhí)行。精品文檔放心下載Microsoft?SQLServer?允許為任何給定的INSERT、UPDATE或感謝閱讀DELETE語(yǔ)句創(chuàng)建多個(gè)觸發(fā)器。在pubs庫(kù)中的titles表上創(chuàng)建一個(gè)名字為mySelect觸發(fā)器,感謝閱讀當(dāng)對(duì)改表做插入和更新操作時(shí),該觸發(fā)器自動(dòng)執(zhí)行,檢索出修改后謝謝閱讀的titles表的記錄:usepubsgoCREATETRIGGERmySelect24ONtitlesFORINSERT,UPDATEasSelect*fromtitlesGO可執(zhí)行如下語(yǔ)句看一下觸發(fā)器的運(yùn)行結(jié)果:updatetitlessetprice=19wheretitle_id=感謝閱讀'bu1032'3.5刪除觸發(fā)器DROPTRIGGER是從當(dāng)前數(shù)據(jù)庫(kù)中刪除一個(gè)或多個(gè)觸發(fā)器。其精品文檔放心下載語(yǔ)法為:DROPTRIGGER{觸發(fā)器名字}[,...n]精品文檔放心下載刪除觸發(fā)器的語(yǔ)句是:usepubsDROPTRIGGERmySelect3.6游標(biāo)的使用DECLARECURSOR定義Transact-SQL謝謝閱讀游標(biāo)的滾動(dòng)行為和用于生成游標(biāo)對(duì)其進(jìn)行操作的結(jié)果集的查詢。感謝閱讀創(chuàng)建游標(biāo)的簡(jiǎn)單語(yǔ)法是:DECLAREcursor_nameCURSOR精品文檔放心下載FORselect_statement下面是一個(gè)具體創(chuàng)建使用游標(biāo)的語(yǔ)句:--建立(定義)一個(gè)游標(biāo)DECLAREauthors_cursorCURSOR精品文檔放心下載FORSELECTau_lnameFROMauthorsU8產(chǎn)品支持部--(打開(kāi)游標(biāo))OPENauthors_cursor--取游標(biāo)記錄,插入到變量中FETCHNEXTFROMauthors_cursorINTO@au_lname精品文檔放心下載--瀏覽游標(biāo)記錄WHILE@@FETCH_STATUS=0BEGINprint@au_lname--取下一記錄FETCHNEXTFROMauthors_cursorINTO@au_lname感謝閱讀END--關(guān)閉游標(biāo)CLOSEauthors_cursor--(釋放游標(biāo))DEALLOCATEauthors_cursor第四節(jié)系統(tǒng)存儲(chǔ)過(guò)程、系統(tǒng)表4.1系統(tǒng)存儲(chǔ)過(guò)程系統(tǒng)存儲(chǔ)過(guò)程是SQLServer內(nèi)置的具有強(qiáng)大功能的存儲(chǔ)過(guò)程,精品文檔放心下載系統(tǒng)存儲(chǔ)過(guò)程一般都是以SP_開(kāi)始的,應(yīng)盡可能利用已有的系統(tǒng)存精品文檔放心下載儲(chǔ)過(guò)程來(lái)實(shí)現(xiàn)操作目標(biāo)(可以將系統(tǒng)存儲(chǔ)過(guò)程簡(jiǎn)單的理解為是感謝閱讀SQLServer以下列出一些比較常用的系統(tǒng)存儲(chǔ)過(guò)程:系統(tǒng)存儲(chǔ)過(guò)程的名字作用26sp_attach_db將數(shù)據(jù)庫(kù)附加到服務(wù)器sp_attach_single_file_db將只有一個(gè)數(shù)據(jù)文件(就是謝謝閱讀以.mdf為擴(kuò)展名的文件)的數(shù)據(jù)庫(kù)附加到當(dāng)前服務(wù)器sp_detach_db從服務(wù)器分離數(shù)據(jù)庫(kù)sp_helptext發(fā)器或視圖的文本sp_executesql執(zhí)行可以多次重用或動(dòng)態(tài)生感謝閱讀成的Transact-SQL語(yǔ)句或批處理,Transact-SQL語(yǔ)句或批處理可以包含嵌入?yún)?shù)關(guān)于系統(tǒng)存儲(chǔ)過(guò)程,在SQLServer聯(lián)機(jī)幫助“Transact-SQL謝謝閱讀參考系統(tǒng)存儲(chǔ)過(guò)程,概述”中有詳細(xì)介紹。4.2系統(tǒng)表系統(tǒng)表也是一種數(shù)據(jù)庫(kù)中的表,是由系統(tǒng)自動(dòng)創(chuàng)建維護(hù)的,用謝謝閱讀戶通常在系統(tǒng)表中得到很多有用信息。sysdatabases表和sysobjects表,精品文檔放心下載其他系統(tǒng)表的介紹請(qǐng)參看附錄和聯(lián)機(jī)幫助。4.2.1sysdatabases系統(tǒng)表sysdatabases系統(tǒng)表存在于master庫(kù)內(nèi),Microsoft?SQL謝謝閱讀Server?中的每個(gè)數(shù)據(jù)庫(kù)在該表中占一行,該表比較常用的兩個(gè)字感謝閱讀段是namedbidID,謝謝閱讀這個(gè)字段在后面的SQLServer事件探查器的篩選操作時(shí)會(huì)用到)精品文檔放心下載在SQLServer查詢分析器中執(zhí)行一下語(yǔ)句,找出數(shù)據(jù)庫(kù)名字為感謝閱讀UFSystem的數(shù)據(jù)庫(kù)ID:selectdbid,*frommaster..sysdatabaseswherename=謝謝閱讀'ufsystem'U8產(chǎn)品支持部4.2.2sysobjects系統(tǒng)表sysobjects精品文檔放心下載內(nèi)創(chuàng)建的每個(gè)對(duì)象(約束、默認(rèn)值、日志、規(guī)則、存儲(chǔ)過(guò)程等)在感謝閱讀表中占一行,該表常用的字段有xtype字段(代表對(duì)象類型,常用精品文檔放心下載的類型有:U=用戶表、P=存儲(chǔ)過(guò)程、TR=觸發(fā)器、V=視圖、精品文檔放心下載D=默認(rèn)值或DEFAULTname字段(代表對(duì)象名,如表名、精品文檔放心下載存儲(chǔ)過(guò)程名)在SQLServerau開(kāi)謝謝閱讀頭的用戶自定義表:selectnamefrompubs..sysobjectswherextype='u'感謝閱讀andnamelike'au%'其中的'%'是通配符。4.2.3sysobjects系統(tǒng)表的高效使用方法精品文檔放心下載如果要查找一個(gè)指定名字的觸發(fā)器所依賴的表,那么利用sysobjects系統(tǒng)表可以快速實(shí)現(xiàn)該需求。pubs庫(kù)中有個(gè)名字是employee_insupd的觸發(fā)器(這個(gè)名感謝閱讀感謝閱讀觸發(fā)器是依賴于哪個(gè)表時(shí),以下的語(yǔ)句非常有用。檢索出指定數(shù)據(jù)庫(kù)中所有的觸發(fā)器名字:select*frompubs..sysobjectswherextype='tr'精品文檔放心下載根據(jù)觸發(fā)器的具體名字,查出它所依賴的表:selectobject_name(parent_obj)as表名from感謝閱讀pubs..sysobjectswherextype='tr'andname=感謝閱讀'employee_insupd'上句中的object_name()是個(gè)系統(tǒng)函數(shù),作用是將對(duì)象ID轉(zhuǎn)謝謝閱讀換為對(duì)應(yīng)的對(duì)象名。Object_ID()作用與之相反。感謝閱讀本章小結(jié):通過(guò)本章與上一章的學(xué)習(xí),對(duì)SQL語(yǔ)句的用法及數(shù)據(jù)庫(kù)系統(tǒng)表感謝閱讀28SQLServer其他功能的應(yīng)用提供了基礎(chǔ),謝謝閱讀但在工作過(guò)程中,還要根據(jù)實(shí)際遇到的問(wèn)題,對(duì)本部分所涉及知識(shí)感謝閱讀進(jìn)行更深入的研究,才能使SQL語(yǔ)句的功能得到更靈活、全面的應(yīng)謝謝閱讀用。第四章事件探查器的使用本章主要介紹在實(shí)際維護(hù)工作中經(jīng)常用到的一個(gè)SQLServer工謝謝閱讀具:事件探查器。事件探查器的功能是監(jiān)視SQLServer感謝閱讀于監(jiān)視SQLSERVER感謝閱讀或單步方式執(zhí)行Transact-SQL精品文檔放心下載開(kāi)發(fā)階段也常用它來(lái)調(diào)試或測(cè)試所編寫(xiě)的的腳本程序和存儲(chǔ)過(guò)程。謝謝閱讀U8軟件界面操作所涉及的后精品文檔放心下載臺(tái)數(shù)據(jù)庫(kù)交互的情況。事件探查器主要使用流程是:建立跟蹤進(jìn)行跟蹤;精確跟蹤;精品文檔放心下載定位問(wèn)題解決問(wèn)題。U8產(chǎn)品支持部第一節(jié)創(chuàng)建跟蹤第一步,在開(kāi)始菜單下打開(kāi)事件探查器;連接對(duì)應(yīng)的服務(wù)器;精品文檔放心下載“新建“跟蹤感謝閱讀器,確定;第三步,在“跟蹤名”中輸入對(duì)應(yīng)的名稱,默認(rèn)為“無(wú)標(biāo)題-謝謝閱讀(數(shù)字),也可以選擇已有的跟蹤模板;第四步,在“事件”頁(yè)選擇您希望跟蹤的事件;(建議選擇:謝謝閱讀TSQLSQL:BatchCompleted;存儲(chǔ)過(guò)程:SP:StmtCompleted;錯(cuò)感謝閱讀誤和警告ErrorLog、EventLog、Exception)謝謝閱讀30第五步,在“數(shù)據(jù)列”頁(yè)選擇您關(guān)注的數(shù)據(jù)列;(建議選擇:感謝閱讀EventClass、TextData、SPID)第六步,在“篩選”頁(yè)指定捕獲那些事件的選擇;第七步,選擇完畢后點(diǎn)運(yùn)行開(kāi)始跟蹤。第二節(jié)事件探查器的精確跟蹤第一步,用事件探查器的默認(rèn)跟蹤模板進(jìn)行跟蹤,大概確定一感謝閱讀下問(wèn)題范圍。第二步,在確定了大概的問(wèn)題范圍后,進(jìn)行必要的篩選,用自謝謝閱讀定義的跟蹤模板,如:確定問(wèn)題涉及到哪個(gè)數(shù)據(jù)庫(kù),如果不涉及系感謝閱讀UFSystemDatabaseIDUFSystem謝謝閱讀庫(kù)的跟蹤排除,方法如下:在SQLServer查詢分析器中執(zhí)行:U8產(chǎn)品支持部selectdbid,*frommaster..sysdatabaseswherename感謝閱讀='ufsystem'返回的dbid值即是UFSystem庫(kù)的DatabaseID謝謝閱讀擇DatabaseID不同于這個(gè)返回值即可。第三步,再利用事件探查器進(jìn)行跟蹤。第三節(jié)實(shí)際工作中事件探查器的應(yīng)用在實(shí)際U8感謝閱讀是顯式的錯(cuò)誤和異常,可直接在事件探查器中利用Exception事件謝謝閱讀捕獲;另一類是隱式的數(shù)據(jù)錯(cuò)誤,在事件探查器中無(wú)明顯的問(wèn)題捕感謝閱讀獲標(biāo)識(shí),如用戶的匯總表和明細(xì)表數(shù)據(jù)不一致(通常叫做數(shù)據(jù)對(duì)不謝謝閱讀上)等。3.1顯式的錯(cuò)誤和異常的解決對(duì)于第一類問(wèn)題,通常的解決辦法是:首先要利用事件探查器跟蹤有問(wèn)題賬套,重點(diǎn)查看在跟蹤過(guò)程謝謝閱讀中,報(bào)錯(cuò)語(yǔ)句前后的sql語(yǔ)句所涉及到的數(shù)據(jù)表或數(shù)據(jù)對(duì)象內(nèi)容是精品文檔放心下載否有問(wèn)題。確定問(wèn)題賬套的報(bào)錯(cuò)位置后,再利用事件探查器跟蹤演示賬套謝謝閱讀謝謝閱讀前后sql語(yǔ)句涉及的表或數(shù)據(jù)對(duì)象內(nèi)容有何差別。根據(jù)對(duì)比結(jié)果確謝謝閱讀定出錯(cuò)數(shù)據(jù),對(duì)問(wèn)題賬套進(jìn)行修改即可。在實(shí)際處理問(wèn)題過(guò)程中,應(yīng)用這種辦法通常都能有效解決此類謝謝閱讀問(wèn)題。3.2隱式的數(shù)據(jù)錯(cuò)誤問(wèn)題的解決對(duì)于這類問(wèn)題,通常的解決辦法是:感謝閱讀的跟蹤結(jié)果,查找出實(shí)現(xiàn)該功能sql語(yǔ)句所操作的數(shù)據(jù)表或數(shù)據(jù)對(duì)謝謝閱讀32象。在實(shí)際處理問(wèn)題過(guò)程中,通常遇到的情況都是:存在問(wèn)題操作謝謝閱讀涉及的明細(xì)表數(shù)據(jù)正確,而匯總表數(shù)據(jù)有錯(cuò),這時(shí),利用明細(xì)表中謝謝閱讀數(shù)據(jù)來(lái)修改匯總表中的對(duì)應(yīng)數(shù)據(jù)即可。3.3涉及存儲(chǔ)過(guò)程、視圖、觸發(fā)器問(wèn)題的解決在處理以上兩類問(wèn)題的時(shí)候,還會(huì)遇到事件探查器跟蹤出的結(jié)謝謝閱讀果涉及存儲(chǔ)過(guò)程、視圖、觸發(fā)器等,這時(shí)不能單純應(yīng)用以上辦法來(lái)謝謝閱讀解決,而是要進(jìn)一步研究該存儲(chǔ)過(guò)程、視圖、觸發(fā)器等所涉及的具感謝閱讀謝謝閱讀因此要對(duì)此類對(duì)象的SQL語(yǔ)句進(jìn)行深入分析,再確定解決辦法。感謝閱讀在SQLServer的查詢分析器中執(zhí)行系統(tǒng)存儲(chǔ)過(guò)程“sp_helptext謝謝閱讀對(duì)象名”可以查詢具體存儲(chǔ)過(guò)程、視圖、觸發(fā)器的SQL語(yǔ)句內(nèi)容。謝謝閱讀本章小結(jié):初次使用事件探查器時(shí),一般用默認(rèn)跟蹤模板即可。隨著使用謝謝閱讀經(jīng)驗(yàn)的積累,可以更為深入的探索事件探查器的一些有用的高級(jí)功感謝閱讀能。本??饕v解了SQL語(yǔ)句的用法,其實(shí)很多功能都可以在謝謝閱讀SQLServer感謝閱讀但在有些情況下,直接使用SQL語(yǔ)句比SQLServer企業(yè)管理器的可謝謝閱讀視化操作更為靈活高效。這一點(diǎn)在今后的實(shí)踐中會(huì)有深刻體會(huì)。精品文檔放心下載掌握了SQL的基本語(yǔ)法后,在今后的工作學(xué)習(xí)中要不斷實(shí)踐,謝謝閱讀一定要將SQLServer的聯(lián)機(jī)幫助作為自己最好的老師。精品文檔放心下載衷心祝你早日成為SQLServer專家!附錄組成數(shù)據(jù)庫(kù)的對(duì)象A:表(table)具體組織和存儲(chǔ)數(shù)據(jù)的對(duì)像,由列和行組成.謝謝閱讀U8產(chǎn)品支持部1:行和列順序可以是任意的.在同一個(gè)表中列名必須是唯一的.精品文檔放心下載2:在同一個(gè)數(shù)據(jù)庫(kù)里面表名也必須要是唯一.B:主鍵(primarykey)1:表中一列或多列的組合,其值唯一確定表的一行.2:主鍵不能重復(fù)3:作為主鍵各列都不能為空.C:外鍵(foreignkey)1:表中一列或多列的組合,它本身不是本表的主鍵,而是另外一感謝閱讀個(gè)表的主鍵.[一對(duì)多關(guān)系]2:外鍵是兩個(gè)表發(fā)生關(guān)系一個(gè)紐帶.D:視圖(view)從一個(gè)或幾個(gè)基本表中根據(jù)用戶需要而做成一個(gè)虛表.感謝閱讀1:視圖是虛表,它在存儲(chǔ)時(shí)只存儲(chǔ)視圖的定義,而沒(méi)有存儲(chǔ)對(duì)應(yīng)精品文檔放心下載的數(shù)據(jù)2:視圖只在剛剛打開(kāi)的一瞬間,通過(guò)定義從表中搜集數(shù)據(jù),并展感謝閱讀現(xiàn)給用戶E:約束(constraint)1:對(duì)表中各列的取值范圍進(jìn)行限制,以確保表中數(shù)據(jù)的合理有謝謝閱讀效.F:默認(rèn)值(default)1:在向表中插入數(shù)據(jù)時(shí),為沒(méi)有指定數(shù)據(jù)的列提供一個(gè)默認(rèn)的謝謝閱讀數(shù)據(jù)G:事務(wù)(Transaction)341:在關(guān)系型數(shù)據(jù)庫(kù)里面一般使用“事務(wù)“來(lái)處理用戶提交的修謝謝閱讀改表和數(shù)據(jù)的操作2:事務(wù)就是一次性完成的一組數(shù)據(jù)的操作.3:事務(wù)的持征:位于事務(wù)中的操作要么全部都做,要么全部取消,感謝閱讀從而維護(hù)了數(shù)據(jù)庫(kù)中數(shù)據(jù)的合理性.4:關(guān)系數(shù)據(jù)庫(kù)中一般按照先寫(xiě)日志的方法進(jìn)行事務(wù)操作.即:在精品文檔放心下載實(shí)施事務(wù)之前先將要進(jìn)行操作的記錄寫(xiě)入日志,再進(jìn)行實(shí)際的謝謝閱讀數(shù)據(jù)修改.5:是記錄關(guān)系數(shù)據(jù)修改的情況的筆記.6:在用戶對(duì)數(shù)據(jù)庫(kù)實(shí)施之前,sql會(huì)把兩種形式的情況寫(xiě)入日志.謝謝閱讀1:實(shí)施事務(wù)之間的數(shù)據(jù)狀態(tài).2:實(shí)施事務(wù)之后的數(shù)據(jù)狀態(tài).當(dāng)事務(wù)由于中途被破壞時(shí),sqlserver會(huì)利用日志記錄把數(shù)據(jù)恢感謝閱讀復(fù)成實(shí)施事務(wù)之前的數(shù)據(jù)狀態(tài),即撤消事務(wù)(回滾);如果事務(wù)順利的執(zhí)行則把數(shù)據(jù)恢復(fù)成實(shí)施事務(wù)之后的狀態(tài),即謝謝閱讀執(zhí)行事務(wù)(前滾).H:規(guī)則(rule)1:同約束一樣,對(duì)特定的列進(jìn)行限制,如:單價(jià)*數(shù)量=總額精品文檔放心下載I:索引(index)1:提供一種無(wú)需掃描整張表就能實(shí)現(xiàn)對(duì)數(shù)據(jù)快速訪問(wèn)的途徑可感謝閱讀以使用索引來(lái)優(yōu)化查詢.[用索引可以實(shí)現(xiàn)排序]J:存儲(chǔ)過(guò)程(storeprocedure)一組經(jīng)過(guò)編譯好的可以重復(fù)使用的sql代碼.存儲(chǔ)過(guò)程是在服務(wù)精品文檔放心下載器中執(zhí)行,用戶可以調(diào)用存儲(chǔ)過(guò)程并接收存儲(chǔ)過(guò)程返回的結(jié)果.精品文檔放心下載1:由于存儲(chǔ)過(guò)程是存儲(chǔ)在服務(wù)器,所有可以讓每一個(gè)客戶重復(fù)感謝閱讀使用,減少sql代碼書(shū)寫(xiě)量.U8產(chǎn)品支持部2:由于存儲(chǔ)過(guò)程是事先編譯好的sql代碼,所以在執(zhí)行時(shí),并不感謝閱讀做語(yǔ)法檢驗(yàn),可以大大提高sql語(yǔ)句的執(zhí)行效率.K:觸發(fā)器(trigger)一種特殊的存儲(chǔ)過(guò)程.1:觸發(fā)器與表相關(guān).2:當(dāng)用戶對(duì)指定的表進(jìn)行某種操作時(shí),觸發(fā)器會(huì)自動(dòng)執(zhí)行,去做謝謝閱讀它里面sql代碼L:數(shù)據(jù)類型(datatype)1:兩種類型:系統(tǒng)數(shù)據(jù)類型,用戶自定義數(shù)據(jù)類型.2:系統(tǒng)數(shù)據(jù)類型:int,float,char,varchar,text[備注,工作簡(jiǎn)謝謝閱讀歷],image[存儲(chǔ)圖像]M:日志(log)1:sqlserver使用日志記載用戶對(duì)數(shù)據(jù)庫(kù)進(jìn)行的一系列的操作.精品文檔放心下載日志是維護(hù)數(shù)據(jù)庫(kù)完整性的重要工具.sqlserver遵守先寫(xiě)日精品文檔放心下載志再對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作.所以某一天,如果數(shù)據(jù)庫(kù)損壞,但可以精品文檔放心下載通過(guò)日志進(jìn)行恢復(fù).SQLSERVER系統(tǒng)組成1:sqlserver系統(tǒng)數(shù)據(jù)庫(kù).36A:master:最重要的一個(gè)數(shù)據(jù)庫(kù).保存了:服務(wù)器的用戶名密碼.服務(wù)器的配置信息使用的數(shù)據(jù)類型錯(cuò)誤信息系統(tǒng)或者用戶建立的所有對(duì)像說(shuō)明:由于master數(shù)據(jù)庫(kù)比較重要所以不要在里面建表,不謝謝閱讀要修改里面的任何內(nèi)容.B:tempdb:臨時(shí)數(shù)據(jù)庫(kù)1:記錄所有的臨時(shí)表格或者數(shù)據(jù).2:tempdb是一個(gè)全局資源,任何連接到sqlserver都可以精品文檔放心下載使用.3:該數(shù)據(jù)庫(kù)所放有的數(shù)據(jù)全部是臨時(shí),這就是說(shuō)當(dāng)sql精品文檔放心下載server服務(wù)停止之后,所有數(shù)據(jù)將會(huì)消失C:model數(shù)據(jù)庫(kù):模板數(shù)據(jù)庫(kù).1:是建立新的數(shù)據(jù)庫(kù)一個(gè)樣式.2:當(dāng)用戶建立一個(gè)數(shù)據(jù)庫(kù)的時(shí)候,首先要從model數(shù)據(jù)庫(kù)里謝謝閱讀面復(fù)制所有的表.D:msdb數(shù)據(jù)庫(kù):主要被sqlserveragent服務(wù)用于操作作業(yè)調(diào)度以及管理謝謝閱讀報(bào)警.2:系統(tǒng)表U8產(chǎn)品支持部A:服務(wù)器級(jí)系統(tǒng)表:[master數(shù)據(jù)庫(kù)里面]1:sysdatabases:記錄所有的數(shù)據(jù)庫(kù)的相關(guān)信息謝謝閱讀2:sysmessages:記錄了系統(tǒng)錯(cuò)誤和警告信息謝謝閱讀3:syslangues:記錄了服務(wù)器能夠識(shí)別的語(yǔ)言謝謝閱讀4:sysconfigures:記錄了服務(wù)器配置情況感謝閱讀5:systype:記錄了服務(wù)器所有數(shù)據(jù)類型B:數(shù)據(jù)庫(kù)級(jí)系統(tǒng)表:[保存在不同的數(shù)據(jù)庫(kù)里面]1:sysbojects:所有數(shù)據(jù)庫(kù)的對(duì)像的相關(guān)資料.[類型:u:感謝閱讀表,V:視圖,P:存儲(chǔ)過(guò)程,tr:觸發(fā)器]2:sysusers:所有數(shù)據(jù)庫(kù)的用戶的信息.3:syscolumns:所有數(shù)據(jù)庫(kù)表中的列.3:系統(tǒng)的存儲(chǔ)過(guò)程:存放在MASTER數(shù)據(jù)庫(kù),以SP_開(kāi)頭,如:1:sp_help表名:查看表的信息:2:sp_renamedb舊名字,新名字:把數(shù)據(jù)庫(kù)更名.感謝閱讀4:示列數(shù)據(jù)庫(kù):pubs,northwind.Transact_SQL小手冊(cè)數(shù)據(jù)操作SELECT--從數(shù)據(jù)庫(kù)表中檢索數(shù)據(jù)行和列INSERT--向數(shù)據(jù)庫(kù)表添加新數(shù)據(jù)行DELETE--從數(shù)據(jù)庫(kù)表中刪除數(shù)據(jù)行UPDATE--更新數(shù)據(jù)庫(kù)表中的數(shù)據(jù)數(shù)據(jù)定義38CREATETABLE--創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)表DROPTABLE--從數(shù)據(jù)庫(kù)中刪除表ALTERTABLE--修改數(shù)據(jù)庫(kù)表結(jié)構(gòu)CREATEVIEW--創(chuàng)建一個(gè)視圖DROPVIEW--從數(shù)據(jù)庫(kù)中刪除視圖CREATEINDEX--為數(shù)據(jù)庫(kù)表創(chuàng)建一個(gè)索引感謝閱讀DROPINDEX--從數(shù)據(jù)庫(kù)中刪除索引CREATEPROCEDURE--創(chuàng)建一個(gè)存儲(chǔ)過(guò)程感謝閱讀DROPPROCEDURE--從數(shù)據(jù)庫(kù)中刪除存儲(chǔ)過(guò)程感謝閱讀CREATETRIGGER--創(chuàng)建一個(gè)觸發(fā)器DROPTRIGGER--從數(shù)據(jù)庫(kù)中刪除觸發(fā)器CREATESCHEMA--向數(shù)據(jù)庫(kù)添加一個(gè)新模式感謝閱讀DROPSCHEMA--從數(shù)據(jù)庫(kù)中刪除一個(gè)模式CREATEDOMAIN--創(chuàng)建一個(gè)數(shù)據(jù)值域ALTERDOMAIN--改變域定義DROPDOMAIN--從數(shù)據(jù)庫(kù)中刪除一個(gè)域數(shù)據(jù)控制GRANT--授予用戶訪問(wèn)權(quán)限D(zhuǎn)ENY--拒絕用戶訪問(wèn)REVOKE--解除用戶訪問(wèn)權(quán)限事務(wù)控制COMMIT--結(jié)束當(dāng)前事務(wù)ROLLBACK--中止當(dāng)前事務(wù)SETTRANSACTION--定義當(dāng)前事務(wù)數(shù)據(jù)訪問(wèn)特征感謝閱讀程序化SQLU8產(chǎn)品支持部DECLARE--為查詢?cè)O(shè)定游標(biāo)EXPLAN--為查詢描述數(shù)據(jù)訪問(wèn)計(jì)劃OPEN--檢索查詢結(jié)果打開(kāi)一個(gè)游標(biāo)FETCH--檢索一行查詢結(jié)果CLOSE--關(guān)閉游標(biāo)PREPARE--為動(dòng)態(tài)執(zhí)行準(zhǔn)備SQL語(yǔ)句EXECUTE--動(dòng)態(tài)地執(zhí)行SQL語(yǔ)句DESCRIBE--描述準(zhǔn)備好的查詢局部變量declare@idchar(10)--set@id='10010001'select@id='10010001'全局變量必須以@@開(kāi)頭IFELSEdeclare@xint@yint@zint謝謝閱讀select@x=1@y=2@z=3if@x>@yprint'x>y'--打印字符串'x>y'精品文檔放心下載elseif@y>@zprint'y>z'elseprint'z>y'CASE40USEpubsSELECTCASEtypeWHEN'popular_comp'THEN'PopularComputing'感謝閱讀WHEN'mod_cook'THEN'ModernCooking'精品文檔放心下載WHEN'business'THEN'Business'感謝閱讀WHEN'psychology'THEN'Psychology'精品文檔放心下載WHEN'trad_cook'THEN'TraditionalCooking'感謝閱讀ELSE'Notyetcategorized'謝謝閱讀ENDASCategory,CONVERT(varchar(30),title)AS"ShortenedTitle",精品文檔放心下載priceASPriceFROMtitlesWHEREpriceISNOTNULLORDERBY1WHILECONTINUEBREAKU8產(chǎn)品支持部declare@xint@yint@cint精品文檔放心下載select@x=1@y=1while@x<3beginprint@x--打印變量x的值while@y<3beginselect@c=100*@x+@yprint@c--打印變量c的值select@y=@y+1endselect@x=@x+1select@y=1endWAITFOR--例等待1小時(shí)2分零3秒后才執(zhí)行SELECT語(yǔ)句感謝閱讀waitfordelay’01:02:03’select*fromemployee--例等到晚上11點(diǎn)零8分后才執(zhí)行SELECT語(yǔ)句謝謝閱讀waitfortime’23:08:00’select*fromemployee***SELECT***select*(列名)fromtable_name(表名)wherecolumn_nameoperatorvalue精品文檔放心下載42select*fromstock_informationwherestockid=謝謝閱讀str(nid)stockname='str_name'stocknamelike'%findthis%'感謝閱讀stocknamelike'[a-zA-Z]%'([]指定值的范圍)精品文檔放心下載stocknamelike'[^F-M]%'(^排除指定范圍)謝謝閱讀只能在使用like關(guān)鍵字的where)精品文檔放心下載orstockpath='stock_path'謝謝閱讀orstocknumber<1000andstockindex=24notstocksex='man'stocknumberbetween20and100精品文檔放心下載stocknumberin(10,20,30)orderbystockiddesc(asc)排序,desc-降序,精品文檔放心下載asc-升序orderby1,2by列號(hào)感謝閱讀stockname=(selectstocknamefromstock_information精品文檔放心下載wherestockid=4)子查詢除非能確保內(nèi)層select只返回一個(gè)行的值,精品文檔放心下載否則應(yīng)在外層where子句中用一個(gè)in限定符感謝閱讀selectdistinctcolumn_nameformtable_name感謝閱讀distinct指定檢索獨(dú)有的列值,不重復(fù)selectstocknumber,"stocknumber+10"=stocknumber+謝謝閱讀10fromtable_nameselectstockname,"stocknumber"=count(*)from謝謝閱讀table_namegroupbystockname謝謝閱讀groupby將表按行分組,指定列中有相同的值謝謝閱讀havingcount(*)=2having選定指定的組感謝閱讀U8產(chǎn)品支持部selectstocknamefromtable1謝謝閱讀union[all]union合并查詢結(jié)果集,all-保留重復(fù)行謝謝閱讀selectstocknamefromtable2謝謝閱讀函數(shù)統(tǒng)計(jì)函數(shù)AVG--求平均值COUNT--統(tǒng)計(jì)數(shù)目MAX--求最大值MIN--求最小值SUM--求和44字符串函數(shù)ASCII()--函數(shù)返回字符表達(dá)式最左端字符的ASCII碼值謝謝閱讀CHAR()-

溫馨提示

  • 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)論