這篇文章主要介紹了SQLServer預存程序建立和修改的實作程式碼,需要的朋友可以參考下
#開啟SQL Server 2005的管理工具,選取需要建立預存程序的資料庫,找到「可程式性”,展開後可以看到“預存程序”。右鍵點擊它,選擇“新預存程序”,右邊的編輯視窗打開了,裡面裝著微軟自動產生的SQL Server建立預存程序的語句。
將預存程序的名字,參數,操作語句寫好後,點擊語法分析,沒有錯誤就直接「F5」運行就好了,預存程序創建完畢,以下是一個基本的預存程序的程式碼:
CREATE PROCEDURE Get_Data ( @Dealer_ID VARCHAR(<strong>50</strong>) ) AS SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID
點擊查看實際範例
既然建立預存程序已經會了,那麼修改還會很難嗎?顯然不會。修改預存程序也是相當的容易。首先,刷新目前資料庫的預存程序列表,這時就能看到你剛創建的預存程序的名字了,右鍵點擊它,選擇修改,右側又打開了一個編輯窗口,裝著的就是修改預存程序的程式碼(如下)
ALTER PROCEDURE [dbo].[Get_Data] ( @Dealer_ID VARCHAR(<strong>50</strong>) ) AS SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID
簡單的修改下吧,程式碼如下
ALTER PROCEDURE [dbo].[Get_Data] ( @Dealer_ID VARCHAR(<strong>50</strong>), @Period VARCHAR(<strong>20</strong>) ) AS SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID AND Period = @Period
F5 成功執行,修改儲存過程完成。
開始寫了一個預存過程,用來實現資料的插入操作,說白了就是添加資料。這個預存程序的程式碼如下:
CREATE PROCEDURE PROC_INSERT_DATA_ID @DealerID varchar(<strong>50</strong>) AS BEGIN 5 DECLARE @COUNT INT SET @COUNT = (SELECT COUNT(*) FROM myDATA_Details WHERE DealerID = @DealerID) IF (@COUNT><strong>0</strong>) BEGIN DELETE FROM myDATA_Details WHERE DealerID = @DealerID INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID) END ELSE BEGIN INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID) END END --实际例子:http://hovertree.com/hovertreescj/sql/p_hovertreescj_urls_add.htm
F5一下,創建成功,調用它插入數據,OK,沒問題插入成功,達到了預期的目的
用於更新數據,程式碼如下:
CREATE PROCEDURE PROC_INSERT_DATA_DETAIL @DealerID varchar(<strong>50</strong>), @FieldName varchar(<strong>2000</strong>), @FieldValue varchar(<strong>2000</strong>) AS BEGIN DECLARE @Count INT SET @Count = (SELECT COUNT(*) FROM myDATA_Details WHERE DealerID = @DealerID) IF (@COUNT><strong>0</strong>) BEGIN UPDATE myDATA_Details SET DealValue = @FieldValue WHERE DealerID = @DealerID END ELSE BEGIN INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID) END END
或:
修改後的程式碼
ALTER PROCEDURE PROC_INSERT_DATA_DETAIL @DealerID varchar(<strong>50</strong>), @FieldName varchar(<strong>2000</strong>), @FieldValue varchar(<strong>2000</strong>) AS BEGIN DECLARE @Count INT DECLARE @StrSQL VARCHAR(<strong>2000</strong>) SET @Count = (SELECT COUNT(*) FROM myDATA_Details WHERE DealerID = @DealerID) IF (@COUNT><strong>0</strong>) BEGIN SET @StrSQL = 'UPDATE myDATA_Details SET '+ @FieldName + ' = ''' +@FieldValue + ''' WHERE DealerID = '+ @DealerID EXEC(@StrSQL) END ELSE BEGIN INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID) SET @StrSQL = 'UPDATE myDATA_Details SET '+ @FieldName + ' = ''' +@FieldValue + ''' WHERE DealerID = '+ @DealerID EXEC(@StrSQL) END END
以上是SQLServer預存程序建立和修改的實作程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!