0
试图更新多个记录。在sql中更新多个记录 - 语法
tbl_test - 现有的表
EmployeeName Effort Date
aaa 8 2014-10-21
bbb 9 2014-10-21
ccc 7 2014-10-21
@dtCSV - 表型作为参数
EmployeeName Effort
aaa 10
ccc 10
预期输出:
EmployeeName Effort Date
aaa 10 2014-10-21
bbb 9 2014-10-21
ccc 10 2014-10-21
此代码给出错误 - 't'附近的语法不正确。什么是正确的语法来做到这一点。
ALTER PROCEDURE SaveEffort
(
@TimesheetDate datetime, //(2014-10-21)
@dtCSV AS dbo.SaveEffort_TableType readonly
)
AS
BEGIN
UPDATE tbl_test t
SET t.Effort = d.Effort
FROM @dtCSV d
WHERE t.EmployeeName = d.EmployeeName
AND t.[Date] = @TimesheetDate
END
非常感谢你。这工作。如果我想为了可读性而写'update tbl_test',那么其余的代码应该如何。 – Qwerty 2014-10-22 06:03:55
不客气。我们只能在UPDATE关键字之后立即更新表的别名。如果没有该别名,则应在整个SQL语句中使用真实的表名。 – 2014-10-22 09:30:35