国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

SQL Server存儲過程創建和修改

2024-08-31 00:55:59
字體:
來源:轉載
供稿:網友
SQL Server存儲過程創建和修改

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

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

1 CREATE PROCEDURE Get_Data    2    (    3        @Dealer_ID VARCHAR(50)   4     )    5     AS    6 SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID

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

1 ALTER PROCEDURE [dbo].[Get_Data]    2    (    3        @Dealer_ID VARCHAR(50)   4     )    5     AS    6 SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID

簡單的修改下吧,代碼如下

1  ALTER PROCEDURE [dbo].[Get_Data]    2    (    3        @Dealer_ID VARCHAR(50),4        @Period VARCHAR(20)5     )    6     AS    7     SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID AND Period = @Period

F5 成功執行,修改存儲過程完成。http://www.cnblogs.com/sosoft/開始寫了一個存儲過程,用來實現數據的插入操作,說白了就是添加數據。這個存儲過程的代碼如下:

 1 CREATE PROCEDURE PROC_INSERT_DATA_ID 2   @DealerID varchar(50) 3 AS 4 BEGIN 5         DECLARE @COUNT  INT     6          7         SET @COUNT = (SELECT COUNT(*) FROM myDATA_Details WHERE DealerID = @DealerID) 8         IF (@COUNT>0)     9             BEGIN    10                 DELETE FROM myDATA_Details WHERE DealerID = @DealerID    11                 INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID)    12             END    13         ELSE    14             BEGIN    15                 INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID)    16             END    17     END

F5一下,創建成功,調用它插入數據,OK,沒問題插入成功,達到了預期的目的用于更新數據,代碼如下:

 1 CREATE PROCEDURE PROC_INSERT_DATA_DETAIL 2         @DealerID varchar(50),  3         @FieldName varchar(2000), 4         @FieldValue varchar(2000) 5     AS 6     BEGIN 7         DECLARE @Count INT 8         SET @Count = (SELECT COUNT(*) FROM myDATA_Details WHERE DealerID = @DealerID) 9 10         IF (@COUNT>0)11             BEGIN12                 UPDATE myDATA_Details SET DealValue = @FieldValue WHERE DealerID = @DealerID13             END14         ELSE15             BEGIN16                 INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID)17              END18     END

或者:修改后的代碼

 1 ALTER PROCEDURE PROC_INSERT_DATA_DETAIL 2         @DealerID varchar(50),  3         @FieldName varchar(2000), 4         @FieldValue varchar(2000) 5     AS 6     BEGIN 7         DECLARE @Count INT 8         DECLARE @StrSQL VARCHAR(2000) 9         SET @Count = (SELECT COUNT(*) FROM myDATA_Details WHERE DealerID = @DealerID)10 11         IF (@COUNT>0)12             BEGIN13                 SET @StrSQL = 'UPDATE myDATA_Details SET '+ @FieldName + ' = ''' +@FieldValue + ''' WHERE DealerID = '+ @DealerID14                 EXEC(@StrSQL)15             END16         ELSE17             BEGIN18                 INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID)19                 SET @StrSQL = 'UPDATE myDATA_Details SET '+ @FieldName + ' = ''' +@FieldValue + ''' WHERE DealerID = '+ @DealerID20                 EXEC(@StrSQL)21             END22     END


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 扬州市| 泽库县| 舒兰市| 永宁县| 新河县| 沿河| 乌恰县| 定西市| 天长市| 蓝田县| 孝感市| 孟州市| 外汇| 娄烦县| 宾川县| 饶阳县| 丰镇市| 准格尔旗| 黔江区| 大渡口区| 汉阴县| 连州市| 宁德市| 河间市| 崇信县| 莒南县| 沙河市| 隆昌县| 德格县| 莒南县| 乐亭县| 饶阳县| 潢川县| 新乐市| 珠海市| 庄浪县| 武陟县| 新泰市| 武胜县| 新巴尔虎左旗| 阿克陶县|