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