插入带前缀和递增编号的行

Pow*_*ram 1 t-sql sql-server azure-sql-database

我想插入300行,其中Username包含一个前缀,后跟001-300(或1-300)的递增数字.

例如:PRC001,PRC002,PRC003,PRC004

我怎么会在一个声明中这样做?

编辑:我正在使用SSMS 2016和Microsoft Azure数据库

Joh*_*tti 6

Insert Into YourTable (SomeID)
Select Top 300 Format(Row_Number() Over (Order By Number),'PRC000') From master..spt_values 
Run Code Online (Sandbox Code Playgroud)

另一种选择是创建一个临时计数表

;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
Run Code Online (Sandbox Code Playgroud)

您也可以使用任何表(具有超过300条记录)

Select Top 300 Format(Row_Number() Over (Order By (Select null)),'PRC000') From AnyLargerTable
Run Code Online (Sandbox Code Playgroud)

插入将是

在此输入图像描述