我发现网上所有的示例都是使用存储过程需要表值参数。我记得过去曾经在没有使用存储过程的情况下完成这个操作。这种做法是否可行?
这段代码一直报错,提示类型未指定。
SqlCommand cmd = new SqlCommand(@"
UPDATE t1
SET t1.ScheduledStartUTC = t2.ScheduledStartUTC
FROM ScheduleTickets AS t1
INNER JOIN @SetScheduledStart AS t2 ON t1.ScheduleId = t2.ScheduleId AND t1.PatchSessionId = t2.PatchSessionId
", c);
cmd.Parameters.Add("@SetScheduledStart", SqlDbType.Structured).Value = SetScheduleTicketsDateDT;
cmd.ExecuteNonQuery();
SqlDbType.Structured
,那么您也需要设置TypeName
属性。而且,无论如何都必须先创建这种类型,如果您要这样做的话,是无法绕开这个步骤的。 - Jeroen Mostert