我想插入 300 行,其中用户名由前缀后跟从 001-300(或仅 1-300)递增的数字组成。
例如:PRC001、PRC002、PRC003、PRC004
我如何在一条语句中做到这一点?
编辑:我正在使用 SSMS 2016 和 Microsoft Azure 数据库
最佳答案
Insert Into YourTable (SomeID)
Select Top 300 Format(Row_Number() Over (Order By Number),'PRC000') From master..spt_values
另一个选项是创建一个临时统计表
;with cte0(N) As (Select 1 From (Values(1),(1),(1),(1),(1),(1),(1),(1),(1),(1)) N(N)),
cteN(N) As (Select Row_Number() over (Order By (Select NULL)) From cte0 N1, cte0 N2, cte0 N3)
Select Top 300 Format(N,'PRC000') From cteN
您也可以使用任何表(包含超过 300 条记录)
Select Top 300 Format(Row_Number() Over (Order By (Select null)),'PRC000') From AnyLargerTable
插入内容是
关于sql-server - 插入带有前缀和递增数字的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41123361/