版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、存儲(chǔ)過程(StedProcedure)是一組為了完成特定功能的SQL語句集,經(jīng)編譯后存儲(chǔ)在數(shù)據(jù)庫中。用戶通過指定存儲(chǔ)過程的名字并給出參數(shù)(如果該存儲(chǔ)過程帶有參數(shù))來執(zhí)行它。存儲(chǔ)過程是數(shù)據(jù)庫中的一個(gè)重要對(duì)象,任何一個(gè)設(shè)計(jì)良好的數(shù)據(jù)庫應(yīng)用程序都應(yīng)該用到存儲(chǔ)過程。一、存儲(chǔ)過程介紹一、存儲(chǔ)過程介紹存儲(chǔ)過程是由流控制和SQL語句書寫的過程,這個(gè)過程經(jīng)編譯和優(yōu)化后存儲(chǔ)在數(shù)據(jù)庫服務(wù)器中,應(yīng)用程序使用時(shí)只要調(diào)用即可。在ACLE中,若干個(gè)有聯(lián)系的過程可以
2、組合在一起構(gòu)成程序包。存儲(chǔ)過程是利用SQLServer所提供的TransactSQL語言所編寫的程序。TransactSQL語言是SQLServer提供專為設(shè)計(jì)數(shù)據(jù)庫應(yīng)用程序的語言,它是應(yīng)用程序和SQLServer數(shù)據(jù)庫間的主要程序式設(shè)計(jì)界面。它好比acle數(shù)據(jù)庫系統(tǒng)中的ProSQL和Infmix的數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)中的Infmix4GL語言。這類語言主要提供以下功能,讓用戶可以設(shè)計(jì)出符合引用需求的程序:1)、變量說明2)、ANSI兼容的S
3、QL命令(如Update….)3)、一般流程控制命令(if…else…、while….)4)、內(nèi)部函數(shù)二、使用存儲(chǔ)過程有以下的優(yōu)點(diǎn):二、使用存儲(chǔ)過程有以下的優(yōu)點(diǎn):存儲(chǔ)過程的能力大大增強(qiáng)了SQL語言的功能和靈活性。存儲(chǔ)過程可以用流控制語句編寫,有很強(qiáng)的靈活性,可以完成復(fù)雜的判斷和較復(fù)雜的運(yùn)算??杀WC數(shù)據(jù)的安全性和完整性。#通過存儲(chǔ)過程可以使沒有權(quán)限的用戶在控制之下間接地存取數(shù)據(jù)庫,從而保證數(shù)據(jù)的安全。#通過存儲(chǔ)過程可以使相關(guān)的動(dòng)作在一起發(fā)
4、生,從而可以維護(hù)數(shù)據(jù)庫的完整性。在運(yùn)行存儲(chǔ)過程前,數(shù)據(jù)庫已對(duì)其進(jìn)行了語法和句法分析,并給出了優(yōu)化執(zhí)行方案。這種已經(jīng)編譯好的過程可極大地改善SQL語句的性能。由于執(zhí)行SQL語句的大部分工作已經(jīng)完成,所以存儲(chǔ)過程能以極快的速度執(zhí)行??梢越档途W(wǎng)絡(luò)的通信量。使體現(xiàn)企業(yè)規(guī)則的運(yùn)算程序放入數(shù)據(jù)庫服務(wù)器中,以便:#集中控制。#當(dāng)企業(yè)規(guī)則發(fā)生變化時(shí)在服務(wù)器中改變存儲(chǔ)過程即可,無須修改任何應(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ǔ)過程中,則當(dāng)企業(yè)規(guī)則發(fā)生變化時(shí),只要修改存儲(chǔ)過程就可以了,應(yīng)用程序無須任何變化。三、存儲(chǔ)過程的種類:三、存儲(chǔ)過程的種類:1)、系統(tǒng)存儲(chǔ)過程:以sp_開頭用來進(jìn)行系統(tǒng)的各項(xiàng)設(shè)定.取得信息.相關(guān)管理工作如sp_help就是取得指定對(duì)象的相關(guān)信息2)、擴(kuò)展存儲(chǔ)過程以XP_開頭用來調(diào)用操作系統(tǒng)提供的功能..pin
6、g10.8.16.1recompile:表示每次執(zhí)行此存儲(chǔ)過程時(shí)都重新編譯一次encryption:所創(chuàng)建的存儲(chǔ)過程的內(nèi)容會(huì)被加密如:表book的內(nèi)容如下編號(hào)書名價(jià)格001C語言入門$30002PowerBuilder報(bào)表開發(fā)$52實(shí)例1:查詢表Book的內(nèi)容的存儲(chǔ)過程createprocquery_bookasfrombookgoexecquery_book實(shí)例2:加入一筆記錄到表book并查詢此表中所有書籍的總金額Createpro
7、c_book@param1(10)@param2var(20)@param3money@param4moneyoutputwithencryption加密asbook(編號(hào)書名價(jià)格)Values(@param1@param2@param3)@param4=sum(價(jià)格)frombookgo執(zhí)行例子:declare@total_pricemoneyexec_book003Delphi控件開發(fā)指南$100@total_priceprint總
8、金額為convert(var@total_price)go存儲(chǔ)過程的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)品名稱客戶訂數(shù)001鋼筆30002毛筆50003鉛筆100der_產(chǎn)品編號(hào)客戶名客戶訂金
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 存儲(chǔ)過程
- 存儲(chǔ)過程
- 存儲(chǔ)過程22157
- 存儲(chǔ)過程24939
- sql存儲(chǔ)過程
- 存儲(chǔ)過程23968
- 《存儲(chǔ)過程》練習(xí)
- delphi存儲(chǔ)過程
- vb調(diào)用存儲(chǔ)sql server 2000存儲(chǔ)過程
- sql存儲(chǔ)過程習(xí)題
- 存儲(chǔ)過程的概念
- oracle存儲(chǔ)過程學(xué)習(xí)經(jīng)典
- 存儲(chǔ)過程與觸發(fā)器
- oracle 的存儲(chǔ)過程及游標(biāo)
- sql存儲(chǔ)過程入門教程
- 第十章 存儲(chǔ)過程
- 存儲(chǔ)過程與自定義函數(shù)
- db2存儲(chǔ)過程簡單例子
- 信息存儲(chǔ)技術(shù)的發(fā)展過程
- 實(shí)驗(yàn)12存儲(chǔ)過程和游標(biāo)答案
評(píng)論
0/150
提交評(píng)論