總結

已完成

在這個模組中,你學習了進階的 T-SQL 技術,幫助你撰寫更具表現力、更有效率且易於維護的資料庫程式碼。 這些能力涵蓋常見的資料庫開發情境,涉及複雜分析、階層資料、JSON 處理及錯誤處理。

您已學到如何做到以下幾點:

  • 撰寫通用資料表表達式(CTE),用於組織複雜查詢並利用遞迴模式遍歷階層資料結構
  • 應用視窗函數來排序、累計、移動平均及分析計算,以保留列級細節
  • 使用 JSON JSON_OBJECT函式,包括 、 JSON_ARRAY、 JSON_ARRAYAGG、 OPENJSON, JSON_VALUE 來解析、建構及轉換 JSON 資料
  • 實作帶有 REGEXP_LIKE、 REGEXP_REPLACE、 REGEXP_SUBSTR及相關函式的正則表達式,用於模式匹配與文字操作
  • 使用模糊字串函數,如 EDIT_DISTANCE、EDIT_DISTANCE_SIMILARITY 和 JARO_WINKLER_DISTANCE,尋找近似匹配。
  • 建立圖表並使用 MATCH 運算子 SHORTEST_PATH 撰寫查詢,進行關係遍歷
  • 撰寫相關子查詢,用於逐列比較、存在性檢查及每列計算
  • 實作結構化錯誤處理,包含 TRY...CATCH、 錯誤函數 、 THROW及適當的交易管理

重點摘要

  • 遞迴CTE是遍歷階層資料(如組織架構圖或物料清單結構)的標準方法
  • 帶有 OVER 子句的視窗函式使得分析計算在不摺疊列的情況下進行。 使用它們代替自我聯結來計算累計總和和排名
  • JSON_OBJECT 並 JSON_ARRAYAGG 從關聯資料構建 JSON,同時 OPENJSON 將 JSON 解析成關聯列
  • JARO_WINKLER_DISTANCE 已針對名稱匹配進行最佳化;EDIT_DISTANCE_SIMILARITY 在較長的字串上運作效果更佳
  • 在 CATCH 區塊中,務必在 ROLLBACK 之前檢查 @@TRANCOUNT,以處理沒有使用中交易的情況。
  • 將 SET XACT_ABORT ON 和 TRY...CATCH 結合即可獲得完整的交易保護

瞭解詳情