Update para arrumar sequencia de um campo q não é incremental
02/08/2018
0
estou tentando o seguinte update....
update protestos
set folhas = 140+1
where instrument between 44640 and 44999
porem ele preenche 141 para todos os registro do between
Edney Araujo
Posts
02/08/2018
Luiz Santos
Pense assim quando vc coloca o WHERE como vc colocou, vc está pegando um bloco de dados.
Por isso ele joga o mesmo valor para o bloco todo.
A forma mais correta seria usar um CURSOR ou uma TABELA TEMPORÁRIA para resolver isso.
Se estiver usando uma linguagem como DELPHI, usar um RECORDSET.
Mas para te orientar melhor, preciso saber o que vc está usando exatamente.
Grande abs
02/08/2018
Edney Araujo
Pense assim quando vc coloca o WHERE como vc colocou, vc está pegando um bloco de dados.
Por isso ele joga o mesmo valor para o bloco todo.
A forma mais correta seria usar um CURSOR ou uma TABELA TEMPORÁRIA para resolver isso.
Se estiver usando uma linguagem como DELPHI, usar um RECORDSET.
Mas para te orientar melhor, preciso saber o que vc está usando exatamente.
Grande abs
Estou usando Firebird
03/08/2018
Emerson Nascimento
update protestos p1 set folhas = 140 + (select count(*) from protestos p2 where p2.instrument between 44640 and 44999 and p2.instrument < p1.instrument)
where p1.instrument between 44640 and 44999
03/08/2018
Emerson Nascimento
update protestos p1 set folhas = 140 + (select count(*) from protestos p2 where p2.instrument between 44640 and 44999 and p2.instrument <= p1.instrument) where p1.instrument between 44640 and 44999
Clique aqui para fazer login e interagir na Comunidade :)