You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL无需循环声明1到n连续整数列表的实现方法咨询

无需循环生成1到n连续整数列表的SQL方案

你当前使用的是SQL Server(T-SQL)语法,完全可以不用循环,通过单条INSERT语句完成1到n整数序列的写入,常用实现方案如下:

方案1:兼容全版本SQL Server的递归CTE实现

DECLARE @n INT = 100; -- 此处修改为你需要的最大数值n
DECLARE @listOfIDs TABLE (id INT);

INSERT INTO @listOfIDs(id)
WITH num_series AS (
    SELECT 1 AS id
    UNION ALL
    SELECT id + 1 FROM num_series WHERE id < @n
)
SELECT id FROM num_series OPTION (MAXRECURSION 0);
  • 无需额外编写循环逻辑,递归CTE会自动生成1到n的连续整数
  • 末尾的OPTION (MAXRECURSION 0)用于解除SQL Server默认的100层递归限制,适配大数值n的生成需求,也可将0替换为自定义的最大递归层数

方案2:SQL Server 2022及以上版本专用简化写法

如果你的数据库是SQL Server 2022或更高版本,可以直接用内置的GENERATE_SERIES函数,写法更简洁性能更高:

DECLARE @n INT = 100; -- 此处修改为你需要的最大数值n
DECLARE @listOfIDs TABLE (id INT);

INSERT INTO @listOfIDs(id)
SELECT value FROM GENERATE_SERIES(1, @n);

内容的提问来源于stack exchange,提问作者Chow Stanley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 08:54:03