Repetir linhas no SQL Server

Digamos que por hipotese você precise gerar uma lista de presença, ou gerar uma lista de etiquetas onde há necessidade de repetir a mesma linhas por varias vezes.

Após procurar, encontrei uma solução perfeita abaixo que pode ser adaptadar em diversas situações.

 

declare @Tab table (Codigo Int, Produto VarChar(30), Estoque Int)
insert into @Tab values(1,'Motor BMW', 5)
insert into @Tab values(2,'Trator Agrale', 3);
WITH Seq
AS(SELECT 1 AS ID
    UNION ALL
   SELECT ID + 1
     FROM Seq
    WHERE ID < 100)
SELECT t.* FROM @Tab t
inner join Seq
  on Seq.ID between 0 and t.Estoque
order by Codigo
OPTION (MAXRECURSION 0);