我有以下查询,它给了我一个"无效的对象名称' E1'"
据我所知,我的查询是正确的,我想知道它是否就像我无法使用连接更新开放查询一样简单。有什么建议吗?
update E1 Set e1.LILRCJ = GRDATE from Openquery(E1_PROD_ORA, 'Select * From Proddta.F41021') E1
Inner Join dbo.Temp2
On E1.LiITM = IMITM
and ltrim(rtrim(E1.LIMCU)) = E1BU
and E1.LILOCN = Storage
where GRDate <> '0'
答案 0 :(得分:0)
在FROM中调用OPENDATASOURCE,OPENQUERY或OPENROWSET 子句是单独评估的,独立于任何调用 这些函数用作更新的目标,即使相同 参数提供给两个调用。特别是过滤或加入 应用于其中一个调用的结果的条件无效 关于另一方的结果。
这表明你不能做你想做的事。
您可以对此查询进行重新设置,但有助于了解GRDATE
以及没有表别名的其他变量来自何处。