Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 带有TVP的存储过程中的员工工资单_Sql_Sql Server_Stored Procedures_Sql Server 2012_Table Valued Parameters - Fatal编程技术网

Sql 带有TVP的存储过程中的员工工资单

Sql 带有TVP的存储过程中的员工工资单,sql,sql-server,stored-procedures,sql-server-2012,table-valued-parameters,Sql,Sql Server,Stored Procedures,Sql Server 2012,Table Valued Parameters,我试图生成员工工资单,并使用此存储过程将其存储在db中,但遇到了一些问题 它将错误指向我的执行: 必须将参数编号4和后续参数作为'@name'传递= “价值”。使用格式'@name=value'后,所有后续 参数必须以“@name=value”的形式传递 输入的参数为: 开始日期 结束日期 员工工作时间信息–表值参数,包含员工id和支付期间的工作时间 员工津贴信息–带有员工id、津贴类型id和津贴金额的表值参数 代码: 正如错误所述,当您使用命名参数时,您需要对所有参数执行此操作,它看起来应该是

我试图生成员工工资单,并使用此存储过程将其存储在db中,但遇到了一些问题

它将错误指向我的执行:

必须将参数编号4和后续参数作为'@name'传递= “价值”。使用格式'@name=value'后,所有后续 参数必须以“@name=value”的形式传递

输入的参数为:

  • 开始日期
  • 结束日期
  • 员工工作时间信息–表值参数,包含员工id和支付期间的工作时间
  • 员工津贴信息–带有员工id、津贴类型id和津贴金额的表值参数
  • 代码:


    正如错误所述,当您使用命名参数时,您需要对所有参数执行此操作,它看起来应该是:

    EXECUTE usp_createPayroll 
         @startDate = '1/1/2015'
        ,@endDate = '1/31/2015'
        ,@taxID = 2
        ,@noHoursWorked = @employeeInfo
        ,@allowanceBonus = @allowanceInfo
    

    此外,它看起来像是在声明一个变量
    DECLARE@empInfo EmployeeInfo
    ,该变量从未填充数据,但在声明后不久就在联接中使用。可能引用
    @empinfo
    的插入查询应该引用
    @employeeInfo

    您遇到了什么问题?已更新错误
    EXECUTE usp_createPayroll 
         @startDate = '1/1/2015'
        ,@endDate = '1/31/2015'
        ,@taxID = 2
        ,@noHoursWorked = @employeeInfo
        ,@allowanceBonus = @allowanceInfo