本範例刻意將很簡單的Insert into Select寫法,分別改成Temp Table While寫法(本文將其簡稱While寫法)與Cursor寫法,使用測試兩者的執行速度及效能。
兩者做的事情是一樣的:
- 先於Employee資料表中產生1,000,000筆員工資料 (為了能明顯看出兩者效能差異)
- 將Employee資料表(共4個欄位)中Sex = 'F' 的資料寫入Female資料表(共3個欄位)
本範例刻意將很簡單的Insert into Select寫法,分別改成Temp Table While寫法(本文將其簡稱While寫法)與Cursor寫法,使用測試兩者的執行速度及效能。
兩者做的事情是一樣的:
案例情境:在開發實務上有時,需要使用呼叫預存程序A的方式來執行交易,當碰上多筆同時寫入的狀況,可以在設計一個新的預存程序B,來呼叫預存程序A,需考量例外拋回以及資料回復動作。本篇使用一個名為SP_Division的預存程序,來進行除法運算,並將結果寫入DivisionResult資料表,又設計另一個預存程序SP_Multi_Division來進行多筆的除法運算的處理。
一些SQL常用的Table Schema顯示方式,本文以SSMS中的master資料庫為例。
本程式範例說明:
算出某使用者的所在經緯度(S)對應到各個商家的經緯度(1,2,3,....)的最小距離並進行升冪排序,整理成路線順序,並計算各個點的經緯度距離的總公里數。
(S->1->2->3->4->.......->S)
使用output語法可帶回兩種資訊
並搭配into語法,寫入其他的資料表中
使用MSSQL透過輸入函數參數(年份及月分),來產生所有日期的列表清單