在MS SQL Server 2000 中,創建一個存儲過程有兩種方法:一種是使用Transaction-SQL 命令Create Procedure, 另一種是使用圖形化管理工具Enterprise Manager。 用Transaction- SQL 創建存儲過程是一種較為快速的方法,但對於初學者,使用Enterprise Manager 更易理解,更為簡單。
當創建存儲過程時,需要確定存儲過程的三個組成部分;
所有的輸入參數以及傳給調用者的輸出參數。 被執行的針對數據庫的操作語句,包括調用其它存儲過程的語句; 返回給調用者的狀態值,以指明調用是成功還是失敗。 12.2.1 使用Enterprise Manager 創建存儲過程
按照下述步驟用Enterprise Manager 創建一個存儲過程:
啟動Enterprise Manager, 登錄到要使用的服務器。 選擇要創建存儲過程的數據庫,在左窗格中單擊Stored Procedure 文件夾,此時在右窗格中顯示該數據庫的所有存儲過程,如圖12-1 所示。 右擊Stored Procedure 文件夾,在彈出菜單中選擇New Stored Procedure, 此時打開創建存儲過程對話框,如圖12-2 所示。
輸入存儲過程正文。 單擊Check Syntax, 檢查語法是否正確。 單擊OK, 保存。 在右窗格中,右擊該存儲過程,在彈出菜單中選擇All task, 選擇
ManagePermissions, 設置權限,如圖12-3 所示。
12.2.2 用CREATE PROCEDURE 命令創建存儲過程
通過運用Create Procedure 命令能夠創建存儲過程,在創建存儲過程之前,應該考慮到以下幾個方面:
在一個批處理中,Create Procedure 語句不能與其它SQL 語句合並在一起; 數據庫所有者具有默認的創建存儲過程的權限,它可把該權限傳遞給其它的用戶; 存儲過程作為數據庫對象其命名必須符合命名規則; 只能在當前數據庫中創建屬於當前數據庫的存儲過程。 用Create Procedure 創建存儲過程的語法規則如下:
CREATE PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
[ WITH
{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]
[ FOR REPLICATION ]
AS sql_statement [ ...n ]