如何在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
提交
取消