【问题标题】:How to generate consecutive integers in Azure SQL?如何在 Azure SQL 中生成连续整数?
【发布时间】:2018-08-14 22:45:46
【问题描述】:

我有兴趣生成一系列从 1 到 1000(例如)的连续整数并将这些数字存储在某个表的每一行中。我想在 Microsoft Azure SQL 中执行此操作,但我不确定是否支持数组。

【问题讨论】:

  • 你是指每一行的每个整数,还是每一行的数组?
  • 每一行的每个整数

标签: sql azure azure-sql-database


【解决方案1】:

一种相对简单的方法是递归 CTE:

with n as (
      select 1 as n
      union all
      select n + 1
      from n
      where n < 1000
     )
select n.n
from n
options (maxrecursion 0);

【讨论】:

  • d 是什么意思?我没有其他可用的桌子。
  • @NarekNersisyan。 . .那是一个错字。
  • 我建议您这样做一次,然后将其持久化到数据库中。您会惊讶于“n”表的使用频率。有一次我参加了一个关于它的演讲,从那以后我的数据库中添加了一个。
【解决方案2】:

解决此类问题的另一种机制可能是在桌子上发送use a SEQUENCE。它类似于 IDENTITY 列(它们实际上在幕后具有相同的行为),没有一些限制。只需在向表中添加数据时将其重置为新的种子值即可。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-25
    • 2021-05-27
    • 2017-01-08
    • 2016-03-07
    • 2016-10-24
    相关资源
    最近更新 更多