【发布时间】:2019-01-07 19:58:05
【问题描述】:
我目前正在将 access 数据库转换为 SQL。在浏览它时,我发现了这个。
Update EmployeeCustomerOrderDetail set Valid = -1;
这很奇怪,因为 EmployeeCustomerOrderDetail 是一个查询,定义如下。
Select *
From Employee
inner join Order on Employee.EmployeeID = Order.EmployeeID
inner join Customer on Order.CustomerID = Customer.CustomerID
inner join OrderDetail on Order.OrderID = OrderDetail.OrderID
我认为这没有任何效果,因为 Select 上的更新不起作用,但我用它进行了测试
Update (Select * From Employees) as Emp set Emp.WorkPhone as 'Random Value'
它奏效了。
那么我的问题是,这是如何处理的。更新是否向后遍历所有查询表,直到找到数据表?它会改变引用列的值,还是关联表中的实际数据?
【问题讨论】:
标签: sql ms-access vba sql-update subquery