Crie uma Tabela Numérica com 1 a N Linhas¶
Guia Passo a Passo¶
Este artigo irá guiá-lo sobre como gerar números de 1 a N usando apenas objetos de dados Vinyl, sem precisar armazená-los em uma tabela Number.
- Crie uma subconsulta que irá
SELECT 1 as N
. Chamaremos esta primeira subconsulta de Row Numbers 1. - Crie outra Subconsulta chamada Números de Linha 2 que irá Unir os Números de Linha 1 consigo mesmo. Isso dará dois registros.
- Crie outra subconsulta chamada Números de linha 4 que cruza os números de linha 2 consigo mesmo para fornecer quatro registros.
-
Você pode continuar cruzando a Subconsulta feita anteriormente para obter exponencialmente mais:
- Números de linha 1
- Números de linha 2
- Números de linha 4
- Números de linha 16
- Números de linha 256
- Números de linha 65.536
- Números de linha 4.294.967.296
Nota
Se você não precisa de 4 bilhões de registros, basta cruzar qualquer combinação dessas subconsultas para obter a quantidade necessária. Por exemplo: junte os números de linha 65.536 com os números de linha 16 para obter os números de linha 1.048.576.
-
Por fim, crie mais uma Subconsulta que utilize
ROW_NUMBER()
para exibir seus dados, chamado Row Number.