【SQL Server】使用CTE批次更新資料表

【SQL Server】使用CTE批次更新資料表
最近想到一個問題,就是如果資料表的資料要做一個批次更新時候有哪些方法可以達成呢?我想這時候應該沒有人會想一個個下Update吧,況且這樣也不實際...
CTE是什麼?
一般資料表運算式 (CTE) 可視為在單一 SELECT、INSERT、UPDATE、DELETE 或 CREATE VIEW 陳述式之執行範圍內定義的暫存結果集。CTE 與衍生資料表類似的地方在於,它不會儲存為物件,而且其生命週期僅限於查詢期間。但是與衍生資料表不同的是,CTE 可以自我參考,而且在同一查詢中可參考多次。(TechNet)
簡單來說有點像似拋棄式的View...但是本篇重點不再CTE...就交給有興趣的朋友上網搜尋囉

...繼續閱讀 »

【SQL Server | T-SQL】SQL Server 2008 群組累計加總

【SQL Server | T-SQL】SQL Server 2008 群組累計
有時候我們會在資料運算中加上了一個累計加總的資料欄,在SQL Server 2012中可以OVER子句來完成(SQL Server2012 OVER),而今天剛好就遇到需要計算庫存的累計數量,在網路上找了許久,2012可以用比較輕鬆的方式解決,但在2008就沒辦法使用,所以只好利用下面的方法來做到這項功能了
今天的需求是要統計同一個產品,從期初的庫存量計算時間範圍內的進貨數量及出貨數量的統計量,以下是小弟使用CTE的計算方式

...繼續閱讀 »