SQL Server 存储过程中如何合并多行字符串

在 SQL Server 2017 及以上版本里,存储过程要把多行文本稳定合并成一个字符串,核心做法是使用 `STRING_AGG`,并明确写出 `WITHIN GROUP (ORDER BY ...)`。真正容易出错的地方不在语法本身,而在排序、`NULL` 处理、去重以及空结果组返回值这几个细节上。

SQL Server 存储过程中如何合并多行字符串

从递归练习到 Akka 心跳机制:几段 Scala 常见题目的实现思路

这篇内容把几段常见的 Scala 与 Akka 练习题重新整理成可发布的技术文章,涵盖递归求解“喝酒换瓶”、控制台猜拳、位置时长汇总 SQL,以及 Actor 通讯与 Master/Worker 心跳机制。重点不在堆代码,而是说明每题解决什么问题、核心实现如何运转,以及哪些写法值得直接借鉴。

从递归练习到 Akka 心跳机制:几段 Scala 常见题目的实现思路

SQL存储过程为什么不走索引

存储过程是否走索引,关键不在“过程”本身,而在其中具体 SQL 被优化器怎样执行。判断时要先用一致参数和会话环境复现,再重点排查隐式转换、复合索引顺序、动态 SQL 与统计信息失真这些高频原因。

SQL存储过程为什么不走索引

为什么用户能查 SQL 视图却不能查原表

用户能查 SQL 视图却查不了原表,并不是权限漏配,而是数据库把“视图”和“基表”当成两类独立对象分别校验。本文结合 MySQL、SQL Server 与 PostgreSQL 的典型报错,说明权限为何不会自动继承,以及在 MySQL 中如何真正实现“只开放视图、不开放原表”。

为什么用户能查 SQL 视图却不能查原表

SQL Server 中如何强制指定 JOIN 算法

在 SQL Server 里,想强制某一对表使用指定 JOIN 算法,关键不在语句末尾加 `OPTION`,而在 `JOIN` 关键字旁边写对提示。本文把 `LOOP`、`MERGE` 等常见用法、失效原因和验证方法拆开讲清,帮助你判断什么时候该提示、什么时候该让优化器自己选。

SQL Server 中如何强制指定 JOIN 算法

SQL 存储过程如何使用输出参数返回多个统计值

在 SQL Server 里,存储过程的 OUTPUT 参数一次只能回写一个标量值。要返回多个统计结果,正确做法是为每个值单独声明 OUTPUT 参数;如果结果列数或行数不固定,则应直接返回 SELECT 结果集。本文用订单统计示例梳理定义、调用、读取时最容易踩的点。

SQL 存储过程如何使用输出参数返回多个统计值

SQL 子查询如何查询第二高的薪资

查询“第二高薪资”看起来像一道基础 SQL 题,真正容易出错的却是并列值、空结果和方言兼容性。本文把常见写法放到同一张判断表里,说明各自适用场景、限制和为什么多数情况下应优先用嵌套 `MAX()` 子查询。

SQL 子查询如何查询第二高的薪资