2014-10-21 6 views
0

Таблица tblEffort имеет 3 столбца EmployeeName, Effort, Date. Я получаю первые 2 значения столбца из параметра типа таблицы и должен вставлять общую дату для всех этих значений.Вставить другой параметр вместе с типом таблицы

  1. не имеют возможность включить timesheetdate в dtCSV
  2. Там должен быть какой-то другой путь, чем при запуске обновления снова на вставленных столбцов верно?

Ниже код выдает ошибку - Необходимо объявить табличную переменную "@TimesheetDate"

CREATE TYPE dbo.SaveEffort_TableType AS TABLE 
(
    EmployeeName varchar(200), 
    Effort decimal(18,2) 
); 
GO 

CREATE PROCEDURE SaveEmployeeEffort 
(  
@TimesheetDate datetime, 
@dtCSV AS dbo.SaveEffort_TableType readonly 
) 
AS 
BEGIN 
INSERT INTO tblEffort(EmployeeName,Effort,[Date]) 
SELECT * FROM @dtCSV,@TimesheetDate 
END 

ответ

1

Вам нужно поместить переменную в пункте SELECT, не дизъюнкцию FROM

CREATE PROCEDURE SaveEmployeeEffort 
(  
@TimesheetDate datetime, 
@dtCSV AS dbo.SaveEffort_TableType readonly 
) 
AS 
BEGIN 
INSERT INTO tblEffort(EmployeeName,Effort,[Date]) 
SELECT EmployeeName,Effort, @TimesheetDate FROM @dtCSV 
END 
+0

огромное спасибо – Qwerty

Смежные вопросы