sql 2008 使用output避免数据修改后的二次查询
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                sql 2008 使用output避免数据修改后的二次查询
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                表a (f1 primary key,f2,f3), ?表b (f1,f3,f4)
現要根據表b修改表a中的相應字段的值,并將修改過的值顯示出來,一般用法:
?1?update?a?from?b?set?a.f3=b.f3?where?a.f1=b.f1
2?select?a.f1,f2,f3?from?a?where?a.f1?in?(select?f1?from?b)
?根據sql的Output運算符,其實我們可以避免第二步,即在修改的同時,將受影響的行列出來,用法如下:
?1?update?a??set?a.f3=b.f3?output?inserted.f1,inserted.f2,inserted.f3?from?b?where?a.f1=b.f1
優點:
1,只需要對表做一次查詢,不會再做第二次查詢,
2,整個語句是一個原子事務操作,要么整個完成,要么整個失敗。
轉載于:https://www.cnblogs.com/qml007/archive/2011/09/27/2193641.html
總結
以上是生活随笔為你收集整理的sql 2008 使用output避免数据修改后的二次查询的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: CAN控制器的选择
- 下一篇: RESTORE DATABASE命令还原
