用途:为 SQL Server 与 Azure SQL 的复杂查询与数据操作提供高级 T-SQL 模式参考,适合需要编写层次查询、分组统计、批量同步或高性能 OLTP 的场景。
主要能力:
- CTE 与递归 CTE:层次结构遍历、去重删除、多 CTE 组合;递归可用 OPTION (MAXRECURSION 100) 控制,默认 100,最大 32767。
- APPLY:CROSS APPLY 实现每组 Top N 与表值函数逐行调用,OUTER APPLY 保留无匹配行,也可用于列转行。
- MERGE:实现 upsert,支持条件更新、删除与 OUTPUT 返回 $action。
- OUTPUT:捕获插入、更新前后及删除的行,可写入表变量或归档表。
- 高级分组:ROLLUP、CUBE、GROUPING SETS 生成多级汇总,配合 GROUPING 与 GROUPING_ID 标识汇总层级。
- 时态表:SQL Server 2016+ 系统版本化表,支持 FOR SYSTEM_TIME AS OF、BETWEEN、ALL 查询历史。
- 内存优化 OLTP:创建 MEMORY_OPTIMIZED 表与原生编译存储过程,需先添加 MEMORY_OPTIMIZED_DATA 文件组。
- 其他:表值构造函数(VALUES 作为表)、序列(CREATE SEQUENCE、NEXT VALUE FOR、默认约束)。
使用方式:按任务选择对应模式,将示例中的表名、列名替换为实际对象后执行;递归、MERGE、时态表与内存优化表需注意版本与数据库配置要求。
限制:资料未提供具体版本兼容性细节、性能基准、收费或平台信息;部分特性(时态表、内存优化 OLTP)依赖 SQL Server 2016+ 及相应数据库配置。