打開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存儲過程創建和修改實現代碼,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!
您可能感興趣的文章:- sqlserver2005利用臨時表和@@RowCount提高分頁查詢存儲過程性能示例分享
- sql server2008調試存儲過程的完整步驟
- SQLServer2008存儲過程實現數據插入與更新
- Sql Server 存儲過程調用存儲過程接收輸出參數返回值
- 獲取SqlServer存儲過程定義的三種方法
- SqlServer存儲過程實現及拼接sql的注意點
- 淺析SQL Server的嵌套存儲過程中使用同名的臨時表怪像