江戶川亂折騰
2019-06-26 13:30:39
如何在SQLServer 2005中更新一個語句中的兩個表?我想一次更新兩張桌子。如何在SQLServer 2005中做到這一點?UPDATE
Table1,
Table2SET
Table1.LastName='DR. XXXXXX',
Table2.WAprrs='start,stop'FROM
Table1 T1,
Table2 T2WHERE
T1.id = T2.idAND
T1.id = '010008'
3 回答

肥皂起泡泡
TA貢獻1829條經驗 獲得超6個贊
from
update
表_或_view_name引用的視圖必須是可更新的和引用的 準確地說是一個基表在視圖的FROM子句中。有關可更新視圖的更多信息,請參見創建視圖(Transact-SQL)。
只要下列條件為真,就可以通過視圖修改基礎基表的數據:
任何修改,包括UPDATE、INSERT和DELETE語句,都必須引用 只有一個基表.
視圖中要修改的列必須直接引用表列中的基礎數據。不能以任何其他方式派生列,例如通過下列方法:
一個聚合函數:avg、count、sum、min、max、group、stdev、STDEVP、VAR和VARP。 一種計算。不能從使用其他列的表達式中計算列。使用SET運算符UNION、UNIOALL、CROSSJOIN、OPTION和INTERSECT形成的列構成計算,而且也不可更新。 被修改的列不受GROUPBY子句、有子句或DISTIVE子句的影響。 在視圖的SELECT_語句和WITH CHECKOPTION子句中沒有使用TOP。
最新情況:
Msg 4405, Level 16, State 1, Line 1
View or function 'updatable_view' is not updatable because the modification affects multiple base tables.
添加回答
舉報
0/150
提交
取消