zoukankan      html  css  js  c++  java
  • SQL Server存储过程中变量使用函数调用变量

    USE  DB名称
    GO

    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO

    .

    CREATE   PROCEDURE     存储过程名
     @formID   nvarchar(20) ,                        --传入参数
     @Error      int output

    AS

    DECLARE             @DayID                    NVARCHAR(10)            --当前日期
     DECLARE            @GLFDayID             NVARCHAR(10)            --費用計算日
     DECLARE            @EmpID                   NVARCHAR(50)            --人员工号
     DECLARE            @TFormDayID          NVARCHAR(10)            --  填单日期 
     DECLARE            @LWorkDay              NVARCHAR(10)            --最后工作日


     BEGIN 

      --给人员工号变量赋值

      SELECT @EmpID=EmpID  FROM    离职表签核总表      WHERE    FormID=@formID       --(传入单号变量)     

     
    --新建一个temp表并插入temp表中離職人員所有請的非曠工假與實數

    INSERT INTO   temp表   (VocaEmpID,VocaEmpName,VocaDayID,VocaTotalHours,ColType)  

    SELECT  VocaEmpID,VocaEmpName,VocaDayID,A.VocaTotalHours,ColType
    FROM  请假明细表 A, 离职表签核总表 B
    WHERE  A.CurrentStatus='5' AND A.VocaEmpID=B.EmpID AND A.ColType!='C04'  ORDER BY VocaEmpID DESC 

    --更新臨時表中的人員责任制类型

    UPDATE   temp表   SET  IsDuty=A.IsDuty   

    FROM  人员信息表   A,    temp表  B 

    WHERE A.EmpID=B.VocaEmpID     

    --给变量赋值     [dbo].[RSN_FC_CostDay](EmpID)  为函数方法 

    SELECT @DayID=CONVERT(NVARCHAR(10),GETDATE(),111),@EmpID=EmpID  ,@TFormDayID=CONVERT(NVARCHAR(10),ApDate,111) ,@GLFDayID=[dbo].[RSN_FC_CostDay](EmpID)    FROM    离职表签核总表    WHERE FormID=@formID   

    SELECT @LWorkDay=MAX(VocaDayID)  FROM     请假明细表   WHERE  VocaEmpID=@EmpID AND ColType='C04'  AND CurrentStatus='5'

    INSERT INTO    HCB汇总表

    (DayID ,

       FormNID ,

       EmpID ,

       TFormDayID ,

       LWorkDay ,

       GLFDayID ,

       IsTB ,

       CUser ,

       CDate ,

       LUser ,

       LDate

    VALUES

    (@DayID ,

       @formID,

       @EmpID ,

       @TFormDayID ,

       @LWorkDay ,

       @GLFDayID ,

       N'N' ,

       N' ' ,

      GETDATE() ,

       N' '

       GETDATE()

    SET @Error= @@ERROR

    TRUNCATE   TABLE   temp表

    END

  • 相关阅读:
    根据pandas和matplotlib制作简单的图表
    python-pandas 描述和汇总统计表
    linux json的使用
    zend studio10.5 + apache2.2 + php5.2.8 + xdebug2.3
    form表单中name和id区别
    浏览器中访问php页面没法正常显示
    zend studio
    ajax调试 No 'Access-Control-Allow-Origin' header is present on the requested resource
    火狐下input密码框自动填充值和php传数组给js的问题
    mysql 联合 count
  • 原文地址:https://www.cnblogs.com/ximi07/p/10461181.html
Copyright © 2011-2022 走看看