none
Criar cursor +1 RRS feed

  • Pergunta

  • Pessoal,

    Preciso de uma ajuda, tenho um script de inserção e preciso inserir a mesma linha 800 vezes apenas trocando a coluna PIN para um numero sequencial (1..2..3..... 800)

    Meu insert é esse abaixo, mas não faço ideia de como criar este loop que preciso.

    INSERT INTO [dbo].[Pessoas]
               ([PIN]
               ,[pesNome]
               ,[pesHabilitado]
               ,[ctgNumero]
               ,[empNumero]
               ,[dptNumero]
               ,[pesEmpresa]
               ,[pesFuncao]
               )
         VALUES
               ('8'
               ,'TESTE'
               ,''
               ,0
               ,0
               ,0
               ,''
               ,''
               ,'')

    quarta-feira, 29 de março de 2017 12:12

Respostas

  • Veja se te atende:

    DECLARE @i AS INT = 1
    
    WHILE @i <= 800
    BEGIN
    
    INSERT INTO [dbo].[Pessoas]
               ([PIN]
               ,[pesNome]
               ,[pesHabilitado]
               ,[ctgNumero]
               ,[empNumero]
               ,[dptNumero]
               ,[pesEmpresa]
               ,[pesFuncao]
               )
         VALUES
               (CAST(@i AS VARCHAR)
               ,'TESTE'
               ,''
               ,0
               ,0
               ,0
               ,''
               ,''
               ,'')
    
    SET @i = @i + 1;
    
    END;


    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".

    • Marcado como Resposta Renata Cardoso quarta-feira, 29 de março de 2017 12:52
    quarta-feira, 29 de março de 2017 12:19
  • Sua coluna é VARCHAR pelo que entendi de seu SELECT, portanto a ordenação não será numérica.

    Tente assim:

    ORDER BY CAST(PIN AS INT) ASC


    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".


    quarta-feira, 29 de março de 2017 12:50

Todas as Respostas

  • Veja se te atende:

    DECLARE @i AS INT = 1
    
    WHILE @i <= 800
    BEGIN
    
    INSERT INTO [dbo].[Pessoas]
               ([PIN]
               ,[pesNome]
               ,[pesHabilitado]
               ,[ctgNumero]
               ,[empNumero]
               ,[dptNumero]
               ,[pesEmpresa]
               ,[pesFuncao]
               )
         VALUES
               (CAST(@i AS VARCHAR)
               ,'TESTE'
               ,''
               ,0
               ,0
               ,0
               ,''
               ,''
               ,'')
    
    SET @i = @i + 1;
    
    END;


    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".

    • Marcado como Resposta Renata Cardoso quarta-feira, 29 de março de 2017 12:52
    quarta-feira, 29 de março de 2017 12:19
  • Deleted
    quarta-feira, 29 de março de 2017 12:21
  • Ajudou muito! muito Obrigada!

    Somente uma duvida mesmo eu ordenando meu select nessa tabela agora ele traz conforme o print, tem ideia porque?

    quarta-feira, 29 de março de 2017 12:48
  • Sua coluna é VARCHAR pelo que entendi de seu SELECT, portanto a ordenação não será numérica.

    Tente assim:

    ORDER BY CAST(PIN AS INT) ASC


    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".


    quarta-feira, 29 de março de 2017 12:50
  • Perfeito! é isso mesmo.
    quarta-feira, 29 de março de 2017 12:52