别名表和更新...这段代码不应该失败吗?



一旦表被别名化,它就需要被别名引用,对吗?

这将失败。。。

使用AdventureWorks;

选择前10名门店名称FROM存储为st

但这次更新不会。

使用AdventureWorks;

UPDATE存储
SET名称=名称+'$Test'

FROM存储为st

SQL Server在开始选择操作的优先级之前是否解析任何动作谓词?

在中

UPDATE Store
SET Name = Name + '$Test'
FROM Store as st

您正在引用两个表。您正在引用Store两次。

UPDATE Store
SET Name = Name + '$Test'
FROM sys.objects as st

也同样有效。这是正在更新的两个表的交叉乘积。

通常,别名规则也适用于DML。

最新更新