该错误通常在update语句报出。原因是企图在set子句中调用from子句中给表设立的别名。这个别名通常用于子句中的where子句的条件判定。 例:

UPDATE Tab
SET THIS.prop1 = (SELECT propx FROM Tab WHERE propy = THIS.propy)
FROM Tab THIS
WHERE propz = valz;

预期效果是希望将满足where条件的数据进新更新,实际上会报出如下错误: The multi-part identifier 'THIS.prop1' could not be bound. 原因是DBMS并搞不懂你的THIS和上面提到的Tab之间的关系。 解决方法:UPDATE Tab->UPDATE THIS,即把要更新的表名设置为为自己定义的别名即可。

参考: https://blog.csdn.net/dxnn520/article/details/7915198

标签: none

添加新评论