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

  • 相关阅读:
    Azure Functions(一)什么是 ServerLess
    Azure Terraform(八)利用Azure DevOps 实现Infra资源和.NET CORE Web 应用程序的持续集成、持续部署
    Azure Terraform(六)Common Module
    Azure Terraform(五)利用Azure DevOps 实现自动化部署基础资源
    Azure Terraform(四)状态文件存储
    Java | zuul 1.x 是如何实现请求转发的
    Go | Go 结合 Consul 实现动态反向代理
    Java | 在 Java 中执行动态表达式语句: 前中后缀、Ognl、SpEL、Groovy、Jexl3
    宝,我今天CR了,C的什么R? 走过场的CR
    被监控轰炸了,不得不使出绝招
  • 原文地址:https://www.cnblogs.com/linhuide/p/5804964.html
Copyright © 2011-2022 走看看