概要

已完成

在本模块中,你学习了高级 T-SQL 技术,可帮助你编写更具表现力、高效且可维护的数据库代码。 这些功能解决了涉及复杂分析、分层数据、JSON 处理和错误处理的常见数据库开发方案。

你已了解如何执行以下操作:

  • 编写通用表表达式(CTE)以组织复杂查询并使用递归模式遍历分层数据结构
  • 应用窗口函数进行排名、累计总计、移动平均值以及保留行级详细信息的分析计算
  • 使用 JSON 函数(包括JSON_OBJECTJSON_ARRAYJSON_ARRAYAGGOPENJSONJSON_VALUE)分析、构造和转换 JSON 数据
  • 使用REGEXP_LIKEREGEXP_REPLACEREGEXP_SUBSTR和相关函数实现用于模式匹配和文本操作的正则表达式
  • 使用模糊字符串函数(例如 EDIT_DISTANCEEDIT_DISTANCE_SIMILARITY和)查找近似匹配 JARO_WINKLER_DISTANCE
  • 使用 MATCH 运算符创建图形表,并利用 SHORTEST_PATH 进行关系遍历来编写查询。
  • 为逐行比较、存在检查和每行计算编写相关子查询
  • 使用 TRY...CATCH、错误函数、THROW 和适当的事务管理实现结构化错误处理

关键结论

  • 递归 CTE 是遍历分层数据(如组织结构图或材料清单结构)的标准方法
  • 具有OVER子句的窗口函数可以进行分析计算,而无需折叠行。 累计总计和排名使用窗口函数而非自连接
  • JSON_OBJECTJSON_ARRAYAGG 从关系数据构建 JSON,而 OPENJSON 将 JSON 解析成关系行
  • JARO_WINKLER_DISTANCE 针对名称匹配进行优化; EDIT_DISTANCE_SIMILARITY 更适合较长的字符串
  • CATCH 块中,始终在 ROLLBACK 之前检查 @@TRANCOUNT,以处理无活动事务的情况
  • SET XACT_ABORT ONTRY...CATCH结合以实现完整的事务保护

了解详细信息