zoukankan      html  css  js  c++  java
  • Sql Server 存储过程(可重复执行--范本)

    /**变更申请同意--存储过程**/
    USE [GUOYOUZI.Study]
    IF EXISTS (SELECT name  
       FROM   sysobjects  
       WHERE  name = 'Proc_ChangeApply_Agree'  
       AND          type = 'P') 
    DROP PROCEDURE Proc_ChangeApply_Agree 
    GO 
    CREATE PROCEDURE Proc_ChangeApply_Agree 
        @TaskId UNIQUEIDENTIFIER,
        @CDate DATETIME,
        @Step NVARCHAR(50)
    AS
    BEGIN
    
          --声明表变量
          DECLARE @TD TABLE (
            StudyID INT,
            TaskID UNIQUEIDENTIFIER,
            CDate DATETIME
          );
          
          --将某表中的数据插入到表变量中
          INSERT INTO @TD(StudyID,TaskID,CDate) SELECT a.StudyID,a.TaskID,a.CDate FROM Study a;
          
          --声明字段变量
          DECLARE @depID INT,                      --审批人部门ID
                  @depName NVARCHAR(100),          --审批人部门名称
                  @userID INT,                  --审批人ID
                  @userName NVARCHAR(100),      --审批人名称
                  @studyId INT;
          
          --WHILE循环的使用
          WHILE EXISTS (SELECT StudyID FROM @TD)
                BEGIN
                
                        SELECT TOP 1 @studyId = StudyID  FROM @TD ;
                
                        --IF条件的使用
                        IF(@Step='Apply')
                         BEGIN
                          SET @depID=1;--初始化单个变量
                         END
                
                        --判断是否为NULL
                        IF (@TaskId IS NOT NULL)
                         BEGIN
                           SELECT @depID=1,@userID=1;--初始化多个变量
                         END
                
                       --CASE的使用
                       SELECT @depName = CASE 
                              WHEN @depID=1 THEN '第一部门'
                              WHEN @depID=2 THEN '第二部门'
                          ELSE '未知部门' END ;
                
                       --
                       DELETE FROM @TD WHERE  StudyID =@studyId;
                END
    END
    --exec Proc_ChangeApply_Agree '','','';
  • 相关阅读:
    1066 Bash 游戏
    1070 Bash 游戏 V4
    codevs 2928 你缺什么
    分块、线段树练习
    Father Christmas flymouse
    codevs 2494 Vani和Cl2捉迷藏
    codevs 2144 砝码称重2
    国王游戏
    codevs 1664 清凉冷水
    2015ACM/ICPC亚洲区沈阳站 Pagodas
  • 原文地址:https://www.cnblogs.com/JioNote/p/12145392.html
Copyright © 2011-2022 走看看