Sql server数据库修改存储过程

Sql server数据库修改存储过程

 

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 成功执行,修改存储过程完成

 

开始写了一个存储过程,用来实现数据的插入操作,说白了就是添加数据。这个存储过程的代码如下:

 

复制代码

 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

 

 

用于更新数据,代码如下:

 

复制代码

 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             BEGIN

12                 UPDATE myDATA_Details SET DealValue = @FieldValue WHERE DealerID = @DealerID

13             END

14         ELSE

15             BEGIN

16                 INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID)

17              END

18     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             BEGIN

13                 SET @StrSQL = 'UPDATE myDATA_Details SET '+ @FieldName + ' = ''' +@FieldValue + ''' WHERE DealerID = '+ @DealerID

14                 EXEC(@StrSQL)

15             END

16         ELSE

17             BEGIN

18                 INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID)

19                 SET @StrSQL = 'UPDATE myDATA_Details SET '+ @FieldName + ' = ''' +@FieldValue + ''' WHERE DealerID = '+ @DealerID

20                 EXEC(@StrSQL)

21             END

22     END

转载于:https://www.cnblogs.com/heartwarming/p/10372712.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值