佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > SQLServer存儲過程創(chuàng)建和修改的實現(xiàn)代碼

SQLServer存儲過程創(chuàng)建和修改的實現(xiàn)代碼

熱門標簽:鐵路電話系統(tǒng) 呼叫中心市場需求 百度競價排名 AI電銷 地方門戶網(wǎng)站 Linux服務器 服務外包 網(wǎng)站排名優(yōu)化

打開SQL Server 2005的管理工具,選中需要創(chuàng)建存儲過程的數(shù)據(jù)庫,找到“可編程性”,展開后可以看到“存儲過程”。右鍵點擊它,選擇“新建存儲過程”,右側(cè)的編輯窗口打開了,里面裝著微軟自動生成的SQL Server創(chuàng)建存儲過程的語句。

將存儲過程的名字,參數(shù),操作語句寫好后,點擊語法分析,沒有錯誤就直接“F5”運行就好了,存儲過程創(chuàng)建完畢,以下是一個基本的存儲過程的代碼:

 CREATE PROCEDURE Get_Data 
 ( 
  @Dealer_ID VARCHAR(strong>50/strong>) 
  ) 
  AS 
 SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID

點擊查看實際例子

既然創(chuàng)建存儲過程已經(jīng)會了,那么修改還會難嗎?顯然不會。修改存儲過程也是相當?shù)娜菀?。首先,刷新當前?shù)據(jù)庫的存儲過程列表,這時就能看到你剛創(chuàng)建的存儲過程的名字了,右鍵點擊它,選擇修改,右側(cè)又打開了一個編輯窗口,裝著的就是修改存儲過程的代碼(如下)

 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 成功執(zhí)行,修改存儲過程完成。

開始寫了一個存儲過程,用來實現(xiàn)數(shù)據(jù)的插入操作,說白了就是添加數(shù)據(jù)。這個存儲過程的代碼如下:

 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一下,創(chuàng)建成功,調(diào)用它插入數(shù)據(jù),OK,沒問題插入成功,達到了預期的目的

用于更新數(shù)據(jù),代碼如下:

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存儲過程創(chuàng)建和修改實現(xiàn)代碼,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

您可能感興趣的文章:
  • sqlserver2005利用臨時表和@@RowCount提高分頁查詢存儲過程性能示例分享
  • sql server2008調(diào)試存儲過程的完整步驟
  • SQLServer2008存儲過程實現(xiàn)數(shù)據(jù)插入與更新
  • Sql Server 存儲過程調(diào)用存儲過程接收輸出參數(shù)返回值
  • 獲取SqlServer存儲過程定義的三種方法
  • SqlServer存儲過程實現(xiàn)及拼接sql的注意點
  • 淺析SQL Server的嵌套存儲過程中使用同名的臨時表怪像

標簽:仙桃 湘潭 蘭州 湖南 黃山 崇左 銅川 衡水

巨人網(wǎng)絡通訊聲明:本文標題《SQLServer存儲過程創(chuàng)建和修改的實現(xiàn)代碼》,本文關鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    常宁市| 稻城县| 安阳县| 金川县| 陵水| 攀枝花市| 阳春市| 枝江市| 铁岭县| 红桥区| 西平县| 沙河市| 奉新县| 大厂| 柳州市| 庆阳市| 固镇县| 喜德县| 张掖市| 东丽区| 泊头市| 铁岭市| 锡林郭勒盟| 胶州市| 赣州市| 凤山县| 凭祥市| 安阳市| 商水县| 乌拉特中旗| 岱山县| 丰台区| 任丘市| 宾阳县| 长海县| 三台县| 大田县| 印江| 吴忠市| 且末县| 台北市|