存儲(chǔ)過(guò)程24375_第1頁(yè)
已閱讀1頁(yè),還剩6頁(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、存儲(chǔ)過(guò)程(StedProcedure)是一組為了完成特定功能的SQL語(yǔ)句集,經(jīng)編譯后存儲(chǔ)在數(shù)據(jù)庫(kù)中。用戶通過(guò)指定存儲(chǔ)過(guò)程的名字并給出參數(shù)(如果該存儲(chǔ)過(guò)程帶有參數(shù))來(lái)執(zhí)行它。存儲(chǔ)過(guò)程是數(shù)據(jù)庫(kù)中的一個(gè)重要對(duì)象,任何一個(gè)設(shè)計(jì)良好的數(shù)據(jù)庫(kù)應(yīng)用程序都應(yīng)該用到存儲(chǔ)過(guò)程。一、存儲(chǔ)過(guò)程介紹一、存儲(chǔ)過(guò)程介紹存儲(chǔ)過(guò)程是由流控制和SQL語(yǔ)句書(shū)寫(xiě)的過(guò)程,這個(gè)過(guò)程經(jīng)編譯和優(yōu)化后存儲(chǔ)在數(shù)據(jù)庫(kù)服務(wù)器中,應(yīng)用程序使用時(shí)只要調(diào)用即可。在ACLE中,若干個(gè)有聯(lián)系的過(guò)程可以

2、組合在一起構(gòu)成程序包。存儲(chǔ)過(guò)程是利用SQLServer所提供的TransactSQL語(yǔ)言所編寫(xiě)的程序。TransactSQL語(yǔ)言是SQLServer提供專(zhuān)為設(shè)計(jì)數(shù)據(jù)庫(kù)應(yīng)用程序的語(yǔ)言,它是應(yīng)用程序和SQLServer數(shù)據(jù)庫(kù)間的主要程序式設(shè)計(jì)界面。它好比acle數(shù)據(jù)庫(kù)系統(tǒng)中的ProSQL和Infmix的數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)中的Infmix4GL語(yǔ)言。這類(lèi)語(yǔ)言主要提供以下功能,讓用戶可以設(shè)計(jì)出符合引用需求的程序:1)、變量說(shuō)明2)、ANSI兼容的S

3、QL命令(如Update….)3)、一般流程控制命令(if…else…、while….)4)、內(nèi)部函數(shù)二、使用存儲(chǔ)過(guò)程有以下的優(yōu)點(diǎn):二、使用存儲(chǔ)過(guò)程有以下的優(yōu)點(diǎn):存儲(chǔ)過(guò)程的能力大大增強(qiáng)了SQL語(yǔ)言的功能和靈活性。存儲(chǔ)過(guò)程可以用流控制語(yǔ)句編寫(xiě),有很強(qiáng)的靈活性,可以完成復(fù)雜的判斷和較復(fù)雜的運(yùn)算??杀WC數(shù)據(jù)的安全性和完整性。#通過(guò)存儲(chǔ)過(guò)程可以使沒(méi)有權(quán)限的用戶在控制之下間接地存取數(shù)據(jù)庫(kù),從而保證數(shù)據(jù)的安全。#通過(guò)存儲(chǔ)過(guò)程可以使相關(guān)的動(dòng)作在一起發(fā)

4、生,從而可以維護(hù)數(shù)據(jù)庫(kù)的完整性。在運(yùn)行存儲(chǔ)過(guò)程前,數(shù)據(jù)庫(kù)已對(duì)其進(jìn)行了語(yǔ)法和句法分析,并給出了優(yōu)化執(zhí)行方案。這種已經(jīng)編譯好的過(guò)程可極大地改善SQL語(yǔ)句的性能。由于執(zhí)行SQL語(yǔ)句的大部分工作已經(jīng)完成,所以存儲(chǔ)過(guò)程能以極快的速度執(zhí)行。可以降低網(wǎng)絡(luò)的通信量。使體現(xiàn)企業(yè)規(guī)則的運(yùn)算程序放入數(shù)據(jù)庫(kù)服務(wù)器中,以便:#集中控制。#當(dāng)企業(yè)規(guī)則發(fā)生變化時(shí)在服務(wù)器中改變存儲(chǔ)過(guò)程即可,無(wú)須修改任何應(yīng)用程序。企業(yè)規(guī)則的特點(diǎn)是要經(jīng)常變化,如果把體現(xiàn)企業(yè)規(guī)則的運(yùn)算程序

5、放入應(yīng)用程序中,則當(dāng)企業(yè)規(guī)則發(fā)生變化時(shí),就需要修改應(yīng)用程序工作量非常之大(修改、發(fā)行和安裝應(yīng)用程序)。如果把體現(xiàn)企業(yè)規(guī)則的運(yùn)算放入存儲(chǔ)過(guò)程中,則當(dāng)企業(yè)規(guī)則發(fā)生變化時(shí),只要修改存儲(chǔ)過(guò)程就可以了,應(yīng)用程序無(wú)須任何變化。三、存儲(chǔ)過(guò)程的種類(lèi):三、存儲(chǔ)過(guò)程的種類(lèi):1)、系統(tǒng)存儲(chǔ)過(guò)程:以sp_開(kāi)頭用來(lái)進(jìn)行系統(tǒng)的各項(xiàng)設(shè)定.取得信息.相關(guān)管理工作如sp_help就是取得指定對(duì)象的相關(guān)信息2)、擴(kuò)展存儲(chǔ)過(guò)程以XP_開(kāi)頭用來(lái)調(diào)用操作系統(tǒng)提供的功能..pin

6、g10.8.16.1recompile:表示每次執(zhí)行此存儲(chǔ)過(guò)程時(shí)都重新編譯一次encryption:所創(chuàng)建的存儲(chǔ)過(guò)程的內(nèi)容會(huì)被加密如:表book的內(nèi)容如下編號(hào)書(shū)名價(jià)格001C語(yǔ)言入門(mén)$30002PowerBuilder報(bào)表開(kāi)發(fā)$52實(shí)例1:查詢表Book的內(nèi)容的存儲(chǔ)過(guò)程createprocquery_bookasfrombookgoexecquery_book實(shí)例2:加入一筆記錄到表book并查詢此表中所有書(shū)籍的總金額Createpro

7、c_book@param1(10)@param2var(20)@param3money@param4moneyoutputwithencryption加密asbook(編號(hào)書(shū)名價(jià)格)Values(@param1@param2@param3)@param4=sum(價(jià)格)frombookgo執(zhí)行例子:declare@total_pricemoneyexec_book003Delphi控件開(kāi)發(fā)指南$100@total_priceprint總

8、金額為convert(var@total_price)go存儲(chǔ)過(guò)程的3種傳回值:1)、以Return傳回整數(shù)2)、以output格式傳回參數(shù)3)、Recdset傳回值的區(qū)別:output和return都可在批次程式中用變量接收,而recdset則傳回到執(zhí)行批次的客戶端中。實(shí)例3:設(shè)有兩個(gè)表為Productder_其表內(nèi)容如下:Product產(chǎn)品編號(hào)產(chǎn)品名稱(chēng)客戶訂數(shù)001鋼筆30002毛筆50003鉛筆100der_產(chǎn)品編號(hào)客戶名客戶訂金

溫馨提示

  • 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ù)僅提供信息存儲(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)論