none
Comando sql RRS feed

  • Pergunta

  • quero fazer um contador que ande em minhas linhas e vai verificando uma de cada vez

    tem como criar um comando tipo assim no sqlserver

       for (int i = 0; i < numeroDeLinhas; i++)
                                {
    
                                    
                                }
    numeroDeLinha ++

    assim ele anda nas linhas de uma a uma fazendo algum tipo de verificação, alguém já fez algo do tipo


    Atenciosamente,
    José Henrique Sabino

    quarta-feira, 1 de outubro de 2014 13:35

Respostas

  • José,

    Segue um script T-SQL para você adaptar à sua necessidade:

    DECLARE @COUNT int = 1
    DECLARE @NLINHAS int = 100
    
    WHILE (@COUNT < @NLINHAS)
      BEGIN
    	 IF @COUNT = 30
    	   BEGIN
    		  PRINT 'UPDATE EM ' + CAST(@COUNT AS VARCHAR)
    	   END
    	  SET @COUNT += 1
      END
    GO
    Apenas tenha cuidado para distinguir procedimentos para executar através de uma aplicação (ASP.Net, Windows Forms, ...) e quando pode ser executado diretamente na sua instância SQL.

    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    quarta-feira, 1 de outubro de 2014 14:07
    Moderador

Todas as Respostas

  • Nao entendi o que vc quer fazer, mas se parece com a funçao ROW_NUMER() 

    http://msdn.microsoft.com/en-us/library/ms186734.aspx

    Nos diga qual é o resultado que vc espera.

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    quarta-feira, 1 de outubro de 2014 13:41
  • Espero que o comando sql percorra linha por linha verificando se o numero gravado e maior que 30

    se for maior que 30 ele da um update, senão e não  faz nada


    Atenciosamente,
    José Henrique Sabino

    quarta-feira, 1 de outubro de 2014 13:52
  • Espero que o comando sql percorra linha por linha verificando se o numero gravado e maior que 30

    se for maior que 30 ele da um update, senão e não  faz nada


    Atenciosamente,
    José Henrique Sabino

    quarta-feira, 1 de outubro de 2014 13:53
  • Espero que o comando sql percorra linha por linha verificando se o numero gravado e maior que 30

    se for maior que 30 ele da um update, senão e não  faz nada


    Atenciosamente,
    José Henrique Sabino

    José,

    Tem como fazer isso que você esta querendo, mas vai ficar mais lento do que você executar uma instrução SQL.

    Veja um exemplo:

    create table #teste (numero int, nome varchar(50));
    insert #teste values 
    (10,'1010'),
    (20,'2020'),
    (30,'3030'),
    (40,'4040')
    
    
    select	*
    from	#teste
    
    update	#teste set
    		nome = 'maior'
    where	numero > 30
    
    select	*
    from	#teste


    Tulio Rosa | http://tuliorosa.com.br | Se resolveu seu problema, marque como resposta ou vote

    quarta-feira, 1 de outubro de 2014 14:06
  • José,

    Segue um script T-SQL para você adaptar à sua necessidade:

    DECLARE @COUNT int = 1
    DECLARE @NLINHAS int = 100
    
    WHILE (@COUNT < @NLINHAS)
      BEGIN
    	 IF @COUNT = 30
    	   BEGIN
    		  PRINT 'UPDATE EM ' + CAST(@COUNT AS VARCHAR)
    	   END
    	  SET @COUNT += 1
      END
    GO
    Apenas tenha cuidado para distinguir procedimentos para executar através de uma aplicação (ASP.Net, Windows Forms, ...) e quando pode ser executado diretamente na sua instância SQL.

    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    quarta-feira, 1 de outubro de 2014 14:07
    Moderador