zoukankan      html  css  js  c++  java
  • SQL Server2008存储过程中函数的用法(举例)

    USE   数据库

    GO

    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO


    CREATE   function  函数名称

    (@EmpID   nvarchar(50))

    returns nvarchar(10)

    as

    begin

              DECLARE

              @TempDayID              NVARCHAR(10),      --費用計算日
              @TempDayID1            NVARCHAR(10),      --最後一天請非曠工假
              @TempDayID2            NVARCHAR(10),      --最後一天上班日(非責任制)
              @VocaDayID               NVARCHAR(10),
              @VocaEmpID              NVARCHAR(50),
              @VocaTotalHours       NUMERIC(7, 2),
              @IsDuty                       NVARCHAR(1)

    --查找離職人員请的最大非旷工假的請假日期 

    SELECT  @TempDayID1=MAX(VocaDayID)  FROM   temp临时表  WHERE VocaEmpID=@EmpID  AND ColType!='C04'

    --查找離職人員的請假明細

      SELECT  @VocaEmpID=VocaEmpID,@VocaDayID=VocaDayID,@VocaTotalHours=VocaTotalHours ,@IsDuty=IsDuty 

      FROM     temp临时表

      WHERE  VocaEmpID=@EmpID AND VocaDayID =@TempDayID1

    --查找離職人員的最后上班日

      SELECT  @TempDayID2= MAX(A.DayID)

      FROM   出勤表 A,  离职表签核明细表  B
      WHERE   A.EmpID=B.EmpID AND A.IsDuty='N'  AND  B.EmpID=@EmpID  AND  A.IsClass='Y'  AND  A.ABMinutes >=560

      IF (@TempDayID IS NULL)

      BEGIN

      SET @TempDayID = CONVERT(NVARCHAR(10),DATEADD(DAY,0,@TempDayID1),111)

        IF (@TempDayID1<@TempDayID2)

                 BEGIN

            SET  @TempDayID=@TempDayID2

                       END

        ELSE IF(@TempDayID1>@TempDayID2)

            BEGIN

                               IF(@VocaTotalHours<8)

                 BEGIN

                 SET @TempDayID= CONVERT(NVARCHAR(10),DATEADD(DAY,-1,@TempDayID1),111)

                  END

               ELSE

                                           BEGIN
                            SET @TempDayID=@TempDayID1
                            END

                       END

      END

     
        return @TempDayID

    end         

  • 相关阅读:
    C语言中scanf()的用法
    Android学习笔记——Day3
    Android学习笔记——Day6
    Android学习笔记——Day5
    Android学习笔记——Day4
    Android学习笔记——Day2
    一个计时器按钮
    直方图均衡
    拉普拉斯算子进行图像边缘提取
    在jframe上显示超大号的文字
  • 原文地址:https://www.cnblogs.com/ximi07/p/10461619.html
Copyright © 2011-2022 走看看