Ir para o conteúdo

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.

  1. Crie uma subconsulta que irá SELECT 1 as N. Chamaremos esta primeira subconsulta de Row Numbers 1.
  2. Crie outra Subconsulta chamada Números de Linha 2 que irá Unir os Números de Linha 1 consigo mesmo. Isso dará dois registros.
  3. Crie outra subconsulta chamada Números de linha 4 que cruza os números de linha 2 consigo mesmo para fornecer quatro registros.
  4. 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.

  5. Por fim, crie mais uma Subconsulta que utilize ROW_NUMBER() para exibir seus dados, chamado Row Number.