0
让我们假设我有一个产品表像这样多个插入知道数量
product | number
----------------------
aaaa | 2
bbbb | 3
cccc | 1
dddd | 4
这是一个稍微复杂一些,但这个想法是一样的。
我需要回到这样的事情
aaaa0001
aaaa0002
bbbb0003
bbbb0004
bbbb0005
cccc0006
dddd0007
dddd0008
dddd0009
dddd0010
我的意思是,每个产品在列中指定的次数,并在最后某种识别器的。
我该怎么做?
我想表变量,随着身份的标识
DECLARE @Codigos TABLE (ID INT IDENTITY(1,1), Barra Varchar(50) NOT NULL)
和插入后,做
select rtrim(ltrim(barra)) + right('0000' + rtrim(ltrim(cast(id as varchar(10)))),4) from @Codigos
但是这意味着我将不得不插入每个产品的数量在产品变量中的时间,如
@Codigos
id | Barra
----------------
1 | aaaa
2 | aaaa
我正面临着问题。我怎样才能做到这一点 ?用光标?这就是我的想法,但我想知道是否有更好的选择。
最大将在原表300行。
哇,这似乎是我想要的。让我试试看。我不知道Option有什么用。很好! –
@ElVieejo - 'OPTION(MAXRECURSION N)'定义了CTE的递归级别。当N为零时,基本上意味着“尽可能多”:-) – Lamak