Rumah > pangkalan data > tutorial mysql > SQLServer存储过程创建和修改的实现代码

SQLServer存储过程创建和修改的实现代码

巴扎黑
Lepaskan: 2017-05-21 11:39:09
asal
1763 orang telah melayarinya

这篇文章主要介绍了SQLServer存储过程创建和修改的实现代码,需要的朋友可以参考下

打开SQL Server 2005的管理工具,选中需要创建存储过程的数据库,找到“可编程性”,展开后可以看到“存储过程”。右键点击它,选择“新建存储过程”,右侧的编辑窗口打开了,里面装着微软自动生成的SQL Server创建存储过程的语句。

将存储过程的名字,参数,操作语句写好后,点击语法分析,没有错误就直接“F5”运行就好了,存储过程创建完毕,以下是一个基本的存储过程的代码:


1

2

3

4

5

6

CREATE PROCEDURE Get_Data 

 

   @Dealer_ID VARCHAR(<strong>50</strong>) 

  

  AS 

SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID

Salin selepas log masuk

点击查看实际例子

既然创建存储过程已经会了,那么修改还会难吗?显然不会。修改存储过程也是相当的容易。首先,刷新当前数据库的存储过程列表,这时就能看到你刚创建的存储过程的名字了,右键点击它,选择修改,右侧又打开了一个编辑窗口,装着的就是修改存储过程的代码(如下)


1

2

3

4

5

6

ALTER PROCEDURE [dbo].[Get_Data] 

 

   @Dealer_ID VARCHAR(<strong>50</strong>) 

  

  AS 

SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID

Salin selepas log masuk

简单的修改下吧,代码如下


1

2

3

4

5

6

7

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

Salin selepas log masuk

F5 成功执行,修改存储过程完成。

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


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

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

Salin selepas log masuk

F5一下,创建成功,调用它插入数据,OK,没问题插入成功,达到了预期的目的

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


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

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

Salin selepas log masuk

或者:

修改后的代码


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

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 = &#39;UPDATE myDATA_Details SET &#39;+ @FieldName + &#39; = &#39;&#39;&#39; +@FieldValue + &#39;&#39;&#39; WHERE DealerID = &#39;+ @DealerID

        EXEC(@StrSQL)

      END

    ELSE

      BEGIN

        INSERT INTO myDATA_Details (DealerID) VALUES (@DealerID)

        SET @StrSQL = &#39;UPDATE myDATA_Details SET &#39;+ @FieldName + &#39; = &#39;&#39;&#39; +@FieldValue + &#39;&#39;&#39; WHERE DealerID = &#39;+ @DealerID

        EXEC(@StrSQL)

      END

  END

Salin selepas log masuk

Atas ialah kandungan terperinci SQLServer存储过程创建和修改的实现代码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Isu terkini
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan