Sql server 2008 r2 无法在update语句中绑定多重层标识符
我正在尝试在sql server 2008r2上执行此查询-Sql server 2008 r2 无法在update语句中绑定多重层标识符,sql-server-2008-r2,Sql Server 2008 R2,我正在尝试在sql server 2008r2上执行此查询- SELECT @lUpd1 = 'UPDATE ts1cust.dbo.t_grgr_xwalk SET xwalk.WEB = info.WEB,xwalk.AVIVIA = info.AVIVIA,xwalk.MSP = info.MSP,xwalk.QO = info.QO FROM ts1cust.dbo.t_plan_mspqo_info info, ts1cust.dbo.t_grgr_xwalk x
SELECT @lUpd1 = 'UPDATE ts1cust.dbo.t_grgr_xwalk
SET xwalk.WEB = info.WEB,xwalk.AVIVIA = info.AVIVIA,xwalk.MSP = info.MSP,xwalk.QO = info.QO
FROM ts1cust.dbo.t_plan_mspqo_info info, ts1cust.dbo.t_grgr_xwalk xwalk
WHERE info.PLANID = xwalk.ID_471'
但是下面提到的错误-
Msg 4104, Level 16, State 1, Line 1
The multi-part identifier "xwalk.WEB" could not be bound.
您可以将表
t\u grgr\u xwalk
别名为xwalk
,因此对于第一个表达式Update table
,您也应该使用xwalk
SELECT @lUpd1 = 'UPDATE xwalk
SET WEB = info.WEB,
AVIVIA = info.AVIVIA,
MSP = info.MSP,
QO = info.QO
FROM ts1cust.dbo.t_plan_mspqo_info info, ts1cust.dbo.t_grgr_xwalk xwalk
WHERE info.PLANID = xwalk.ID_471'
您可以在下面尝试:
选择@lUpd1='更新ts1cust.dbo.t\u grgr\u xwalk
设置xwalk.WEB=info.WEB,xwalk.AVIVIA=info.AVIVIA,xwalk.MSP=info.MSP,xwalk.QO=info.QO
来自ts1cust.dbo.t\u计划\u mspqo\u信息
其中info.PLANID=xwalk.ID_471'不允许在
集合
子句中的列的赋值端使用多部分标识符
SELECT @lUpd1 = 'UPDATE xwalk
SET WEB = info.WEB, --<-- no xwalk. here
AVIVIA = info.AVIVIA,
MSP = info.MSP,
QO = info.QO
FROM ts1cust.dbo.t_plan_mspqo_info info
INNER JOIN
ts1cust.dbo.t_grgr_xwalk xwalk
ON info.PLANID = xwalk.ID_471'
选择@lUpd1='更新xwalk
设置WEB=info.WEB--