zoukankan      html  css  js  c++  java
  • SQL Server存储过程创建和修改

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

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

          

     CREATE PROCEDURE Get_Data    
    
        (    
            @Dealer_ID VARCHAR(50)   //定义数据Dealer_ID 类型为varchar     
        )    
         AS    
         SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID
       
     既然创建存储过程已经会了,那么修改还会难吗?显然不会。修改存储过程也是相当的容易。首先,刷新当前数据库的存储过程列表,这时就能看到你刚创建的存储过程的名字了,右键点击它,选择修改,右侧又打开了一个编辑窗口,装着的就是修改存储过程的代码(如下)
     ALTER PROCEDURE [dbo].[Get_Data]   (    
            @Dealer_ID VARCHAR(50),
            @Period VARCHAR(20)
         )    
         AS     
      SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID AND Period = @Period
     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

  • 相关阅读:
    Ubuntu18.04下的音频录制和编辑软件Ardour及QjackCtl(jackd gui)
    Adobe After Effects CS6 操作记录
    编译安装和apt安装Nginx1.14.0
    Centos7.4和Ubuntu18.04安装PHP7.2
    Ubuntu与Windows7双系统下, 系统时间不一致的问题
    关于Thinkpad的立体声麦克风输入
    坑人的小米净水器: 漏水, 废水堵塞, 费用陷阱
    Photoshop CS6 操作记录
    Win7 64bit下值得推荐的免费看图软件
    Redis C客户端Hiredis代码分析
  • 原文地址:https://www.cnblogs.com/linhuide/p/5804964.html
Copyright © 2011-2022 走看看