SQL存儲過程
B/S結構下,離不開數據庫,在接下來的學習時,要求讀者至少知道少許的基本SQL語句(增刪查改)。
在進行正式編程時,簡要介紹一下存儲過程。存儲過程就是將一系列的SQL語句集中置一個文件中。
在大型數據庫系統中,存儲過程具有重要的作用,至於優點,大家可以搜索網上的資料,在此就不過多的介紹,個人感覺比起拼湊SQL語句,優點實在是太多了。
首先大家在自己的SQL2008中新建一個數據庫,本人新建一個WebSite1數據庫,添加一張表tb_User(UserId,UserName,Age),其中UserId為主鍵、自增字段。

存儲過程的創建,SQL2008提供了簡單的創建方式。首先在對象資源管理器中,數據庫目錄下,“可編程性”——“存儲過程”,右擊“存儲過程”,點擊“新建存儲過程”,可看見彈出的對話框。

我自己創建了一個存儲過程(sp_User),存儲過程的命名,一般情況下,一個asp.Net頁面對於一個存儲過程,存儲過程的名稱用asp.net頁面的名稱,這樣調試、測試、維護起來比較方便,團隊合作時,避免相關命名的重復概率。
存儲過程的創建起來是比較簡單的,我們需要做的只是修改其中的一些代碼即可。
存儲過程sp_User
-- ============================================= -- Author: suguoqiang -- Create date: 20121111 -- Description: 對該存儲過程的相應描述 -- ============================================= ALTER PROCEDURE [dbo].[sp_User](@type char(20)='',@UserId int='',@UserName char(10)='',@Age int='') AS BEGIN /*查詢User表的信息*/ if @type='Select_UserInfo' begin SELECT * FROM tb_User end /*增加User*/ if @type='Insert_User' begin insert into tb_User (UserName,Age) values(@UserName,@Age) end /*修改User*/ if @type='Update_User' begin update tb_User set UserName=@UserName,Age=@Age where UserId=@UserId end /*刪除User*/ if @type='Delete_User' begin delete tb_User where UserId=@UserId end END

- Author:填寫存儲過程的書寫人的名稱Create date:日期 Description:存儲過程簡介
- 修改圖中“1”部分的內容,其中包括存儲過程的名稱(sp_User),當然還要填寫相關的參數(可理解為函數的形參),至於需要傳遞什么參數,那要看你需要什么參數,實參當然是從網頁頁面傳遞過來的一些參數。一般情況下,最好是給相關形參默認值,如當前我將四個實參都賦值為’ ’。這樣賦值是有目的,因為一個存儲過程調用時,要求傳遞參數,但我並不需要傳遞所有的形參的實參,這樣的話,如果沒給形參默認值,很顯然會出錯。還要強調一點,@type參數的作用,其實它起到的判斷條件的作用,意思是根據你調用存儲過程時,你到底是想調用if的哪條語句,例:如果此時我想查詢User表,當我調用存儲過程sp_User時,我傳遞@type實參時等於“Select_UserInfo”,那么,當執行存儲過程時,就會執行if @type=‘Select_UserInfo’語句中begin和end之間的SQL語句,進行相關的數據庫操作。sfsdffsdfsdfsdfsdfsdfdsfsdfddsdsdsdshghg
- 修改圖中“2”部分的內容,其部分可理解為函數的實體部分,可看到每個SQL語句的執行前,都有一個if判斷語句,其作用在前面介紹了,目的就是,通過@type傳遞的實參,判斷到底要執行哪條SQL語句。
完成以上步驟后,點擊工具欄中的“保存”按鈕即可,然后右鍵對象管理器中的存儲過程——刷新,即可看到新建的存儲過程,至此,一個存儲過程創建成功。
下一講:ASP.NET簡易教程4——創建首個asp.net頁面
鑒於個人能力有限,如果發現錯漏地方,歡迎指點。
著作權聲明:本文由http://www.cnblogs.com/suguoqiang 原創,歡迎轉載分享。請尊重作者勞動,轉載時保留該聲明和作者博客鏈接,謝謝!
