建立儲存過程的意義

2022-02-27 09:02:20 字數 747 閱讀 4742

可以把儲存過程理解成dos下的批處理檔案

儲存過程不光是把n條sql語句簡單地拼湊起來,而是預編譯過的,所以執行速度比單獨執行n條sql語句快得多

1.維護方便,如果你把所需要執行的操作**寫在程式當中,那麼要做一些小修改,也要對程式做修改並重新編譯,對於使用者來講,這個時候就需要對程式加以深度測試(你說只修改了一點點,但是使用者不會為你的一句話而冒風險的),儲存過程相對來講就簡單得多,畢業邏輯上分離出來了,即使要進行審核,成本也遠比程式要低得多;

2.重用性,乙個設計好的儲存過程,任何符合其輸入和輸出的程式都可以共用,同樣也改善了維護工作,如果有10個程式要用到這個儲存過程,那要做些修改,自然修改乙個儲存過程所花費的成本比程式要低得多;

3.分工的明確化.儲存過程如果設計得當,就可以通過乙個中間的介面卡(adapter)來呼叫,如此在將來進行資料庫的遷移等,就可以把相應的工作交給具體的熟悉相關資料庫等業務的人員,而不是所有的開發人員都要進行了解.就好比mssql/oracle/db2類似的,如果資料庫操作指令碼寫在程式當中,那麼遷移的工作量將會是所有可能的程式.如果是通過儲存過程,那就可以交給相應的dba等來完成;

4.儲存過程的預編譯,可能性使得語句的執行更優化,特別是對於類似oracle等具備某些高階優化能力的,那麼包括其既定的執行計畫等可以帶來相當的效能提公升;

5.對於需要多次訪問資料的複雜操作.如果寫在程式當中,那麼就需要不斷的或者大量的提取資料庫當中的資料到程式當中進行運算,而如果是使用儲存過程,那麼就減少了應用程式與資料庫的互動次數,如此的消耗明顯要低得多.

建立儲存過程

execute pro book 當你執行該儲存過程時,所有包括在其中的sql語句都會執行,在上面的例子中,會返回所有在forum表中的記錄。當在批處理中的第乙個語句是呼叫儲存過程時,你並不需要使用execute語句。你可以簡單地提供儲存過程的名稱來執行儲存過程。比如在isql w中,可以象下面所示...

建立儲存過程

create procedure dbo procgetdata days int asbegin set nocount on added to prevent extra result sets from interfering with select statements.set nocoun...

建立儲存過程

在ms sql server 2000 中,建立乙個儲存過程有兩種方法 一種是使用transaction sql 命令create procedure,另一種是使用圖形化管理工具enterprise manager。用transaction sql 建立儲存過程是一種較為快速的方法,但對於初學者,使...