Sql 带有TVP的存储过程中的员工工资单
我试图生成员工工资单,并使用此存储过程将其存储在db中,但遇到了一些问题 它将错误指向我的执行: 必须将参数编号4和后续参数作为'@name'传递= “价值”。使用格式'@name=value'后,所有后续 参数必须以“@name=value”的形式传递 输入的参数为: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和津贴金额的表值参数 代码: 正如错误所述,当您使用命名参数时,您需要对所有参数执行此操作,它看起来应该是
正如错误所述,当您使用命名参数时,您需要对所有参数执行此操作,它看起来应该是:
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