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

SQL Server存储过程中变量使用函数调用变量的更多相关文章

  1. SQL Server存储过程中使用表值作为输入参数示例

    这篇文章主要介绍了SQL Server存储过程中使用表值作为输入参数示例,使用表值参数,可以不必创建临时表或许多参数,即可向 Transact-SQL 语句或例程(如存储过程或函数)发送多行数据,这样 ...

  2. Sql Server 存储过程中查询数据无法使用 Union(All)

    原文:Sql Server 存储过程中查询数据无法使用 Union(All) 微软Sql Server数据库中,书写存储过程时,关于查询数据,无法使用Union(All)关联多个查询. 1.先看一段正 ...

  3. sql server 存储过程中使用变量表,临时表的分析(续)

    最近,我有一朋友,对我说他的数据库中的很多存储过程,执行都是超时.让我替他看看是什么原因.我一看,原来他的存储过程中用了很多的临时表与变量表.于是我跟他说过犹不及. 在存储过程中使用临时表或变量表,使 ...

  4. 【转】SQL SERVER 存储过程中变量的作用域

    今天遇到一个很有趣的事情,以前没有注意过,所以记下来. 先来看例子. SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE ...

  5. sql server存储过程中SELECT 与 SET 对变量赋值的区别

    SQL Server 中对已经定义的变量赋值的方式用两种,分别是 SET 和 SELECT. 对于这两种方式的区别,SQL Server 联机丛书中已经有详细的说明,但很多时候我们 并没有注意,其实这 ...

  6. 【转】sql server存储过程中SELECT 与 SET 对变量赋值的区别

    转自:http://www.cnblogs.com/micheng11/archive/2008/07/08/1237905.html SQL Server 中对已经定义的变量赋值的方式用两种,分别是 ...

  7. sql server存储过程中SELECT 与 SET 对变量赋值的区别 转自Theo

    SQL Server 中对已经定义的变量赋值的方式用两种,分别是 SET 和 SELECT. 对于这两种方式的区别,SQL Server 联机丛书中已经有详细的说明,但很多时候我们 并没有注意,其实这 ...

  8. SQL Server 存储过程中处理多个查询条件的几种常见写法分析,我们该用那种写法

    本文出处: http://www.cnblogs.com/wy123/p/5958047.html 最近发现还有不少做开发的小伙伴,在写存储过程的时候,在参考已有的不同的写法时,往往很迷茫,不知道各种 ...

  9. SQL Server存储过程中防止线程重入处理方式

    对于线程重入,在C#中有lock关键字锁住一个SyncObject,而SQL Server也可用一个表来模拟实现. 先创建一个同步表,相当于C#中的SyncObject,并插入一条记录(初始值为1) ...

  10. sql server 存储过程中,调用事务 tran

      Sql Server 2005/2008中提供了begin tran,commit tran和rollback tran来使用事务. begin tran表示开始事务, commit tran表示 ...

随机推荐

  1. 借助中间件优化代码 将请求RequestId在服务端接收到请求在处理业务逻辑之前生成

    将请求RequestId在服务端接收到请求在处理业务逻辑之前生成

  2. Git - 高级合并

    Git - 高级合并https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E9%AB%98%E7%BA%A7%E5%90%88%E5%B9%B6 ...

  3. linux下apache安装ssl步骤

    制作证书: 参考:linux下运用opensll制作ssl证书 生成三个证书 server.crt .server-ca.crt.server.key 安装openssl tar -xzvf open ...

  4. IDEA使用本机指定的java环境

    IDEA使用本机指定的java环境     原文链接:https://my.oschina.net/ElEGenT/blog/3053147 idea 的安装包内有自己的jre. idea 默认使用自 ...

  5. postgre级联更新

    常规写法 update t_table_copy a set content=( select content from t_table b where a.id = b.id ); 这些法,数据少了 ...

  6. PPT插件(islide)

    https://www.islide.cc/features iSlide 主要功能模块   一键优化 将PPT中不规则的字体,段落,色彩,参考线布局,风格样式等一键化全局统一设置,构建专业和规范. ...

  7. RabbitMQ 入门教程(PHP版) 第一部分:Hello World

    abbitMQ是一个消息代理.它的核心原理非常简单:接收和发送消息.你可以把它想像成一个邮局:你把信件放入邮箱,邮递员就会把信件投递到你的收件人处.在这个比喻中,RabbitMQ是一个邮箱.邮局.邮递 ...

  8. 使用origin画SCI论文图

    使用origin画SCI论文图 觉得有用的话,欢迎一起讨论相互学习~Follow Me start 使用的是OriginPro这款软件,这款软件的特点是 一个字 好 . 新建工作簿并导入数据 可以使用 ...

  9. 压力测试 Apache ab

    https://www.jianshu.com/p/166a4ea8aade https://httpd.apache.org/docs/2.4/programs/ab.html 安装: 按照提示安装 ...

  10. PngOptimizer PNG压缩工具

    好用,非常好用,速度快. 把图片拖入即可,同文件夹备份替换压缩. 点击下载