当前位置: 代码迷 >> Sql Server >> 派生表 'U' 不可更新,因为修改会影响多个基表。请教要如何弄
  详细解决方案

派生表 'U' 不可更新,因为修改会影响多个基表。请教要如何弄

热度:202   发布时间:2016-04-27 14:56:48.0
派生表 'U' 不可更新,因为修改会影响多个基表。请问要怎么弄?
SQL code
UPDATE U SET U.RK=1,U.SG=0,U.date_SG=null,U.createBy=dbo.GetCheckTab(createBy,0)+','+dbo.GetCheckTab(createBy,1) ,U.Remark=isnull(U.Remark,'') + '手工:上挂到入库(admin,2011-12-9 14:34:48)。',U.SG_ID=null,U.SG_Name=null FROM (     SELECT B.SG,B.RK,B.date_SG,B.createBy,B.Remark,C.SG_ID,C.SG_Name FROM LK_ItemCodeAndScanCode as A     left join lK_StoreStatusReport as B on A.steelCode=B.steelCode     left join LK_JobNumAndScanCode as C on C.steelCode = A.steelCode     where B.status!=2 and A.ID in (79582) ) as U 


添加了这个后: U.SG_ID=null,U.SG_Name=null 
就出现了。派生表 'U' 不可更新,因为修改会影响多个基表。请问要怎么弄?

------解决方案--------------------
晕,这个你需要遵守规则啊

一个表一个表的进行更新吧。
------解决方案--------------------
怎么可以这样更新,多表的话就要分开去按条件更新,怎么能这么写,看看基础语法吧!
------解决方案--------------------
update 更新实表,不能更新派生表
------解决方案--------------------
  相关解决方案