关于update_set_from_where
Posted 付出才有回报,敢于尝试才能成功。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于update_set_from_where相关的知识,希望对你有一定的参考价值。
下面这样的一个例子:
1 UPDATE psto SET productMaterialKind=sop.productMaterialKind 2 FROM #tempSale t 3 JOIN dbo.produceSaleTaskOrderDetail AS pstod ON t.saleOrderID=pstod.saleOrderID 4 JOIN dbo.produceSaleTaskOrder AS psto ON pstod.taskorderID = psto.taskOrderID 5 JOIN dbo.saleOrder AS so ON t.saleOrderID=so.saleOrderID 6 JOIN dbo.saleOrderDzProduct AS sop ON pstod.saleOrderID=sop.saleOrderID
update set from 语句格式
当where和set都需要关联一个表进行查询时,整个 update执行时,就需要对被关联的表进行两次扫描,显然效率比较低。
对于这种情况,Sybase和SQL SERVER的解决办法是使用UPDATE...SET...FROM...WHERE...的语法,实际上就是从源表获取更新数据。
在 SQL 中,表连接(left join、right join、inner join 等)常常用于 select 语句,其实在 SQL 语法中,这些连接也是可以用于update 和 delete 语句的,在这些语句中使用 join 还常常得到事半功倍的效果。
Update T_OrderForm SET T_OrderForm.SellerID =B.L_TUserID
FROM T_OrderForm A LEFT JOIN T_ProductInfo B ON B.L_ID=A.ProductID
用来同步两个表的数据!
以上是关于关于update_set_from_where的主要内容,如果未能解决你的问题,请参考以下文章