Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

UPDATE DE VÁRIOS ITENS

Olá, criei uma tabela de testes e quero fazer um update como o descrito abaixo, porém com uma lista maior de itens.

UPDATE SEGMERCADO SET QTDE='3' WHERE ITEM='1' AND OPERACAO='2';

Gostaria de colocar do item 1 ao 50 tudo no mesmo comando, qual seria a melhor forma para fazer isto?

UPDATE SEGMERCADO SET QTDE='3' WHERE ITEM='1',',2,'3'... ? Testei algumas formas e não obtive sucesso, se alguém puder esclarecer melhor, agradeço. Obrigado.

1 resposta
solução!

Olá Cristian, tudo bem?

Uma das maneiras de pegar vários itens da lista seria utilizando o comando BETWEEN ou o comando IN mesmo.

Seu UPDATE com BETWEEN:

UPDATE SEGMERCADO SET QTDE='3' WHERE ITEM BETWEEN 1 AND 50 AND OPERACAO='2';

Nesse caso em que a condição precisa de muitos números, é mais pratico a utilização do BETWEEN.

Não se esqueça de nesse caso, se o campo "ITEM" não for integer, converte-lo utilizando o comando CAST, assim a consulta com o BETWEEN é mais rápida.

Exemplo com o CAST:

UPDATE SEGMERCADO SET QTDE='3' WHERE CAST(ITEM AS INTEGER) BETWEEN 1 AND 50 AND OPERACAO='2';

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software