Sqlserver技術(shù)知識(shí)點(diǎn)_第1頁(yè)
Sqlserver技術(shù)知識(shí)點(diǎn)_第2頁(yè)
Sqlserver技術(shù)知識(shí)點(diǎn)_第3頁(yè)
已閱讀5頁(yè),還剩8頁(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)介

1、技術(shù)知識(shí)點(diǎn)之二十系統(tǒng)存儲(chǔ)過(guò)程就是系統(tǒng)創(chuàng)建的存儲(chǔ)過(guò)程,目的在于能夠方便地從系統(tǒng) 表中查詢信息或完成與更新數(shù)據(jù)庫(kù)表相關(guān)的管理任務(wù)或其它的系統(tǒng) 管理任務(wù)。系統(tǒng)過(guò)程以“為開(kāi)頭,在 數(shù)據(jù)庫(kù)中創(chuàng)建并保存在該數(shù)據(jù)庫(kù)中,為數(shù)據(jù)庫(kù)管理者所有。一些系統(tǒng)過(guò)程只能由系統(tǒng)管理員使用, 而有些系統(tǒng)過(guò)程通過(guò)授權(quán)可以被其它用戶所使用。系統(tǒng)存儲(chǔ)過(guò)程主要包括以下幾類:(這里主要給出每類系統(tǒng)過(guò)程中經(jīng) 常使用的系統(tǒng)過(guò)程)5p_c 0 li imn_privi1e2£-> sp_01iimn5 sp_daiaba<essp_Serer_info 1*1*存儲(chǔ)過(guò)程sp_sp fcia I_co1nnin5 p_sp

2、TOC_c o lumns sp_statistics sp_ tore d_proe edure s gp.口bt 亡ki kges sp_iable、paddcli stpub li mher spsdddisnibutor 、p-htlp_d gtiirjTofik sp _he lp_pub lie a (lcmac cessip_heLpanicle、pddpvUbub script ion a ge n t p .adds>iibs cup Pionip_addart icleipalddiutioiKlbp_a dclp nb li canonsp a cldp lib l

3、i c ati u_napshot sp_atl(Lpu.blishef70 p_a clclpnl 侶 ub'cnp ti onp helpdis rp ubli slier sp_ i dd ubcrib e isp_lielpdisif ibutioadb sp_t>elpdi$tributor sp helpp ull s ub script ten sp_he lijreplic a ri ondbopti on sp_be lpsub scnp non sp_cha n g edis (rib u( o “鶻 oxd iprefreshsub crtptions 化

4、dropdi itpubhsh e i 5p_dropis-tnbutor $p_droppu 1 hi ib$ ert p no n 愛(ài)全管理類存?zhèn)蜻^(guò)程、p_addsiub s ctiVer_ s the dule sp _liclt>publication scribers-p _c h an eecli stpubli shef5 p_cliange d istribiit londb$ p_liiJi_publicat lo n sp_dropia.rticLeb pdropdi Fnb u?i ordL $p_<koppub-licat;cjispaddalias sp_

5、a detap prole ip_3ddgroupsp_a Minke dsn-! ogi n sp_ add. Io gin ip_3tldi«uioielogL.sp_aldrolesp_addServerp_a dclsTVTO lemci nber$p_(kopfole*p dropr o lerwember s.p_dropSener$p_ drop fYioleiiK niber p_dropuser fi-p-graitilbacce$p_gran(loiiisp helpd.bfi.xe<lroles.p_ln*lps;roup$p _heLp li tik e

6、drv loginsp_sddui5p_iippro lepa 舒門 ord sp_change_user5_lo g in spe hangedbown « s-p_chsng;egroup chaug:e obje ciowner sp_helpsrTole sp_helpsnToleme mber $p_defau rhn.su a ac 科j_den 列 ©gm ”P-drp白li住弓s.pspbclpotgroupsp r h邊p rtmoTelo eui iphdproLe ip_helprcleniembeT s p_ db fiziediol eperun

7、sloii sp_<lefaul(db sp _ dropr emote 1 ogin sp_lielpuser >p_piissword p_reiiiotetpTionsp drop group sp_di:0p linkedsnrlo gin. 分布式妥詢存儲(chǔ)辻程sp revokeloginsp_di oplogincldL itikedS e sp 3 ddl inkedsr/102 msp_ibreignkeysspiiidexes fsp 1 mke d Senders sp_pnmnryrkeyt.征以石的章節(jié)中,我們會(huì)便用或講解詁此存笳I仏在上面幾節(jié)我們介紹了一般意

8、義的存儲(chǔ)過(guò)程, 即用戶自定義的存儲(chǔ)過(guò) 程和系統(tǒng)存儲(chǔ)過(guò)程。本節(jié)將介紹一種特殊的存儲(chǔ)過(guò)程,即觸發(fā)器。在 余下各節(jié)中我們將對(duì)觸發(fā)器的概念、作用以及對(duì)其的使用方法作詳盡 介紹,使讀者了解如何定義觸發(fā)器,創(chuàng)建和使用各種不同復(fù)雜程度的 觸發(fā)器。觸發(fā)器的概念及作用觸發(fā)器是一種特殊類型的存儲(chǔ)過(guò)程,它不同于我們前面介紹過(guò)的 存儲(chǔ)過(guò)程。觸發(fā)器主要是通過(guò)事件進(jìn)行觸發(fā)而被執(zhí)行的, 而存儲(chǔ)過(guò)程 可以通過(guò)存儲(chǔ)過(guò)程名字而被直接調(diào)用。當(dāng)對(duì)某一表進(jìn)行諸如、這些操作時(shí),就會(huì)自動(dòng)執(zhí)行觸發(fā)器所定義的 語(yǔ)句,從而確保對(duì)數(shù)據(jù)的處理必須符合由這些 語(yǔ)句所定義的規(guī)則。觸發(fā)器的主要作用就是其能夠?qū)崿F(xiàn)由主鍵和外鍵所不能保證的復(fù) 雜的參照完整性和

9、數(shù)據(jù)的一致性。除此之外,觸發(fā)器還有其它許多不 同的功能:(1)強(qiáng)化約束()觸發(fā)器能夠?qū)崿F(xiàn)比 語(yǔ)句更為復(fù)雜的約束。(2)跟蹤變化觸發(fā)器可以偵測(cè)數(shù)據(jù)庫(kù)內(nèi)的操作,從而不允許數(shù)據(jù)庫(kù)中未經(jīng)許可的指 定更新和變化。(3)級(jí)聯(lián)運(yùn)行()。觸發(fā)器可以偵測(cè)數(shù)據(jù)庫(kù)內(nèi)的操作,并自動(dòng)地級(jí)聯(lián)影響整個(gè)數(shù)據(jù)庫(kù)的各 項(xiàng)內(nèi)容。例如,某個(gè)表上的觸發(fā)器中包含有對(duì)另外一個(gè)表的數(shù)據(jù)操作(如刪除,更新,插入)而該操作又導(dǎo)致該表上觸發(fā)器被觸發(fā)。(4) 存儲(chǔ)過(guò)程的調(diào)用()。為了響應(yīng)數(shù)據(jù)庫(kù)更新觸,發(fā)器可以調(diào)用一個(gè)或多個(gè)存儲(chǔ)過(guò)程, 甚至可 以通過(guò)外部過(guò)程的調(diào)用而在(數(shù)據(jù)庫(kù)管理系統(tǒng))本身之外進(jìn)行操作。由此可見(jiàn),觸發(fā)器可以解決高級(jí)形式的業(yè)務(wù)規(guī)則或復(fù)雜

10、行為限制 以及實(shí)現(xiàn)定制記錄等一些方面的問(wèn)題。 例如,觸發(fā)器能夠找出某一表 在數(shù)據(jù)修改前后狀態(tài)發(fā)生的差異,并根據(jù)這種差異執(zhí)行一定的處理。 此外一個(gè)表的同一類型(、)的多個(gè)觸發(fā)器能夠?qū)ν环N數(shù)據(jù)操 作采取多種不同的處理??傮w而言,觸發(fā)器性能通常比較低。當(dāng)運(yùn)行觸發(fā)器時(shí),系統(tǒng)處理 的大部分時(shí)間花費(fèi)在參照其它表的這一處理上,因?yàn)檫@些表既不在內(nèi)存中也不在數(shù)據(jù)庫(kù)設(shè)備上,而刪除表和插入表總是位于內(nèi)存中。 可見(jiàn) 觸發(fā)器所參照的其它表的位置決定了操作要花費(fèi)的時(shí)間長(zhǎng)短。觸發(fā)器的種類2000支持兩種類型的觸發(fā)器:觸發(fā)器和 觸發(fā)器。其中 觸發(fā)器即為 2000版本以前所介紹的觸發(fā)器。該類型觸發(fā)器要求只有 執(zhí)行某一操作()

11、之后,觸發(fā)器才被觸發(fā),且只能在表上定義。 可以為針對(duì)表的同一操作定義多個(gè)觸發(fā)器。對(duì)于觸發(fā)器,可以定義哪一個(gè)觸發(fā)器被最先觸發(fā),哪一個(gè)被最后觸發(fā),通常使用系統(tǒng)過(guò)程 來(lái)完成此任務(wù)。觸發(fā)器表示并不執(zhí)行其所定義的操作(、 、),而僅是執(zhí)行觸 發(fā)器本身。既可在表上定義 觸發(fā)器,也可以在視圖上定義 觸發(fā)器, 但對(duì)同一操作只能定義一個(gè) 觸發(fā)器。上面介紹了有關(guān)觸發(fā)器的概念、 作用和一些基本問(wèn)題,下面我們將分 別介紹在 中如何用 管理工具 和來(lái)創(chuàng)建觸發(fā)器。在創(chuàng)建觸發(fā)器以前必須考慮到以下幾個(gè)方面:? 語(yǔ)句必須是批處理的第一個(gè)語(yǔ)句;?表的所有者具有創(chuàng)建觸發(fā)器的缺省權(quán)限,表的所有者不能把該權(quán)限傳給其它用戶;?觸發(fā)器是數(shù)

12、據(jù)庫(kù)對(duì)象,所以其命名必須符合命名規(guī)則;?盡管在觸發(fā)器的 語(yǔ)句中可以參照其它數(shù)據(jù)庫(kù)中的對(duì)象,但是,觸發(fā)器只能創(chuàng)建在當(dāng)前數(shù)據(jù)庫(kù)中;?雖然觸發(fā)器可以參照視圖或臨時(shí)表,但不能在視圖或臨時(shí)表上創(chuàng)建觸發(fā)器,而只能在基表或在創(chuàng)建視圖的表上創(chuàng)建觸發(fā)器;? 一個(gè)觸發(fā)器只能對(duì)應(yīng)一個(gè)表,這是由觸發(fā)器的機(jī)制決定的;? 盡管 語(yǔ)句如同沒(méi)有 從句的 語(yǔ)句,但是由于 語(yǔ)句沒(méi)有被記入 日志,所以該語(yǔ)句不能觸發(fā) 型觸發(fā)器;? 語(yǔ)句不能觸發(fā) 或 型的觸發(fā)器。當(dāng)創(chuàng)建一個(gè)觸發(fā)器時(shí), 必須指定觸發(fā)器的名字, 在哪一個(gè)表上定義觸 發(fā)器,激活觸發(fā) 器的修改語(yǔ)句,如、 、 。 當(dāng)然兩個(gè)或三個(gè)不同的 修改語(yǔ)句也可 以都觸發(fā)同一個(gè)觸發(fā)器,如 和

13、 語(yǔ)句都能激活同一個(gè) 觸發(fā)器。12.6.1 用管理工具 創(chuàng)建觸發(fā)器其操作步驟如下:1. 啟動(dòng) , 登錄到指定的服務(wù)器上。2. 展開(kāi)數(shù)據(jù)庫(kù),然后展開(kāi)要在其上創(chuàng)建觸發(fā)器的表所在的數(shù)據(jù)庫(kù), 然后單擊該表。3. 右擊鼠標(biāo),在彈出菜單中選擇,然后單擊 。4. 在名字框中選擇, 在文本框中輸入觸發(fā)器文本,如圖 12-5 所 示。5. 單擊 檢查語(yǔ)句是否正確。6. 單擊, 在 下拉列表中會(huì)有新創(chuàng)建的觸發(fā)器名字。7. 單擊,關(guān)閉窗口創(chuàng)建成功1262用命令創(chuàng)建觸發(fā)器其語(yǔ)法覘則如卜CREATE TRIGGER n'iggfriiAmeON table | view HHTH EC R'ITIIO

14、TOR | AFTEK IX5TE AD OF DELETE J f INSERT UPDATE | VmH APPENDNOT FOR REPLICATION ASu < TORI AFTER INSTE.W OF > INSERT J VPDATE WITHAPPEXDNOT TOR REPLICATION |ASIF UPDATE ( cahimn )(AND | OR LPBATE ( column > »】| IF ( COLUMNS_LPDAIED <) bind 評(píng) _叩飼玳 x updated_bitinas.k ) r oinp a i i5

15、on_o per a f oij coliiinu biTmask ri 1sql_£tatem»nl 町各參數(shù)的說(shuō)明如下:?是用戶要?jiǎng)?chuàng)建的觸發(fā)器的名字觸發(fā)器的名字,必須符合的命名規(guī)則,且其名字在當(dāng)前數(shù)據(jù)庫(kù)中必須是惟一的。?是與用戶創(chuàng)建的觸發(fā)器相關(guān)聯(lián)的表的名字, 并且該表已經(jīng)存在。?表示對(duì)包含有文本的表進(jìn)行加密。?表示只有在執(zhí)行了指定的操作(、)之后觸發(fā)器才被激活, 執(zhí)行觸發(fā)器中的語(yǔ)句。若使用關(guān)鍵字, 則表示為觸發(fā)器,且 該類型觸發(fā)器僅能在表上創(chuàng)建。?請(qǐng)參看“12.8 觸發(fā)器”? , , 關(guān)鍵字用來(lái)指明哪種數(shù)據(jù)操作將激活觸發(fā)器。至少要指明一個(gè) 選項(xiàng),在觸發(fā)器的定義中三者的順

16、序不受限制,且各選項(xiàng)要用 逗號(hào)隔開(kāi)。?表明增加另外一個(gè)已存在某一類型觸發(fā)器。只有在兼容性水平 (指某一數(shù)據(jù)庫(kù)行為與以前版本的 兼容程度)不大于 65 時(shí) 才使用該選項(xiàng)。?表明當(dāng)復(fù)制處理修改與觸發(fā)器相關(guān)聯(lián)的表時(shí),觸發(fā)器不能被執(zhí)行。?是觸發(fā)器將要執(zhí)行的動(dòng)作。?是包含在觸發(fā)器中的條件語(yǔ)句或處理語(yǔ)句。觸發(fā)器的條件語(yǔ)句 定義了另外的標(biāo)準(zhǔn)來(lái)決定將被執(zhí)行的、 、語(yǔ)句是否激活觸發(fā) 器。? () 用來(lái)測(cè)定對(duì)某一確定列是插入操作還是更新操作,但不與刪除 操作用在一起。()僅在 和類型的觸發(fā)器中使用,用其來(lái)檢查所涉及的列是被更新還是被插入。是在比較中使用的位邏輯運(yùn)算符。是那些被更新或插入的列的整形位掩碼。例如,如果

17、表 T包括 C1, C2, C3, C4, C5五列。為了確定是否只有C2列被修 改,可用2來(lái)做位掩碼,如果想確定是否C1,C2,C3, C4都 被修改,可用14來(lái)做位掩碼。是一比較操作符用“二表示檢查在 中定義的所有列是否都被更 新,用“>”表示檢查是否在 中定義的某些列被更新。指那些被檢查是否被更新的列的位掩碼。M 12: £卜inies哀上創(chuàng)建 個(gè)ffiA.更新類型麗謝這個(gè)觸發(fā)器的名稱溝 創(chuàng)建觸發(fā)器的語(yǔ)句如卜I;r-eate kisser Lrz dion titlesfor deler&.updateremm從以上的介紹中我們可以看出觸發(fā)器具有強(qiáng)大的功能,那么是

18、如何管理觸發(fā)器來(lái)完成這些任務(wù)呢?下面我們將對(duì)其工作原理及實(shí)現(xiàn) 做較為詳細(xì)的介紹每個(gè)觸發(fā)器有兩個(gè)特殊的表:插入表和刪除表。這兩個(gè)表是邏輯 表,并且這兩個(gè)表是由系統(tǒng)管理的,存儲(chǔ)在內(nèi)存中,不是存儲(chǔ)在數(shù)據(jù) 庫(kù)中,因此不允許用戶直接對(duì)其修改。這兩個(gè)表的結(jié)構(gòu)總是與被該觸 發(fā)器作用的表有相同的表結(jié)構(gòu)。這兩個(gè)表是動(dòng)態(tài)駐留在內(nèi)存中的,當(dāng) 觸發(fā)器工作完成,這兩個(gè)表也被刪除。這兩個(gè)表主要保存因用戶操作 而被影響到的原數(shù)據(jù)值或新數(shù)據(jù)值。另外,這兩個(gè)表是只讀的,即用 戶不能向這兩個(gè)表寫入內(nèi)容,但可以引用表中的數(shù)據(jù)。例如可用如下 語(yǔ)句查看表中的信息:F面詳細(xì)介紹這兩個(gè)表的功能:插入表的功能對(duì)一個(gè)定義了插入類型觸發(fā)器的表來(lái)講,一旦對(duì)該表執(zhí)行了插入 操作,那么對(duì)向該表插入的所有行來(lái)說(shuō),都有一個(gè)相應(yīng)的副本存放到 插入表中。即插入表就是用來(lái)存儲(chǔ)向原表插入的內(nèi)容。刪除表的功能對(duì)一個(gè)定義了刪除類型觸發(fā)器的表來(lái)講,一旦對(duì)該表執(zhí)行了刪除 操作,則將所有的刪除行存放至刪除表中。這樣做的目的是,一旦觸 發(fā)器遇到了強(qiáng)迫它中止的語(yǔ)句被執(zhí)行時(shí),

溫馨提示

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