Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Glauber Victor

Delete com Order By

Recommended Posts

Olá pessoal? Estou com a seguinte dúvida: como faço para selecionar uma certa quantidade de registros ordenados para enfim jogar numa instrução delete??? Desde já obrigado a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Glauber.Cara não entendi sua pergunta. Se você cria uma consulta e nela tem 50 registros, tanto faz se eles estão ordenados ou não. O seu delete será o mesmo. Mas acho legal você colocar aqui seu query e indicar qual pra poder lhe falar melhor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se entedi direito, mas o que está querendo, seria por exemplo, apagar os primeiros 50 registros de tabela.delete from <tabela1>where codigo in (select TOP 50 codigo from <tabela1> ORDER BY codigo ASC)Até mais,Renato J. C. Lima

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se entedi direito, mas o que está querendo, seria por exemplo, apagar os primeiros 50 registros de tabela.delete from <tabela1>where codigo in (select TOP 50 codigo from <tabela1> ORDER BY codigo ASC)Até mais,Renato J. C. Lima

Sim mas eu gostaria de passar um parametro no select TOP como se fosse assim delete from <tabela1>where codigo in (select TOP @quantidade codigo from <tabela1> ORDER BY codigo ASC)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim mas eu gostaria de passar um parametro no select TOP

como se fosse assim

 

delete from <tabela1>

where codigo in (select TOP @quantidade codigo from <tabela1> ORDER BY codigo ASC)

Glauber,

 

Para isso tu vai ter que usar um select dinamico com exec ou usar o rowcount esta dica, veja esta dica: http://forum.imasters.com.br/index.php?showtopic=228245

 

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

E para usar o ORDER By no DELETE???Como façoUma amiga me disse que eu deveria montar um select para resgatar os registros e depois joga los no delete.Como seria feito???

Compartilhar este post


Link para o post
Compartilhar em outros sites

por questçoes de performance eu criaria um novo campo na tabela. Esse campo serviria pra levantar uma flag dizendo que os dados serão excluidos ou nao.nesse caso, para saber quais excluir, seria feito um update. Nesse update, o novo campo marcaria como verdadeiro todos dos registros encontrados pela ordem condicional.após o update, seria efetuado o comando delete, excluindo somente aqueles que estão com flag levantada.desculpe nao dar um exemplo, estou com um pouco de pressa. flows

Compartilhar este post


Link para o post
Compartilhar em outros sites

E para usar o ORDER By no DELETE???

 

Como faço

 

Uma amiga me disse que eu deveria montar um select para resgatar os registros e depois joga los no delete.

 

Como seria feito???

é feito da forma que o Renato Lima explicou acima, da forma que o hinom explicou tb.

funciona, para colocar o TOP dinamico veja o link que postei tb. acima

 

se tiver dificuldade, posta até parte que você fez, as chaves que tu tem disponiveis na tabela e o erro que esta ocorrendo

 

 

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.