Sql Sets e Wheres

Delphi

11/09/2004

Olá pessoal!
Alguém saberia se é possível na cláusula Update setar dois campos com dois Where diferentes?
Por ex:
Codigo = Codigo * 10 Where Codigo < 100 ou
Codigo = Codigo + 10 Where Codigo >= 100

Ou terei que fazer dois Updates ?
Desde já agradeço !!!


Ipc$

Ipc$

Curtidas 0

Respostas

Afarias

Afarias

11/09/2004

terá de fazer 2 updates



T+


GOSTEI 0
Ipc$

Ipc$

11/09/2004

Ok Afarias, obrigado !


GOSTEI 0
Motta

Motta

11/09/2004

qual bd ?

no Oracle

update tabela
set Codigo = decode(sign(codigo - 100),-1,Codigo * 10,
1,Codigo + 10,Codigo + 10)



no FB tem uma funcao coalesce (acho) que é semenhante ao decode


GOSTEI 0
Beppe

Beppe

11/09/2004

Tvz vc possa fazer um update só, usando esta sintaxe:
Codigo = ((Codigo * 10) * cast((Codigo < 100) as Integer)) + 
  ((Codigo + 10) * cast((Codigo >= 100) as Integer))



GOSTEI 0
Ipc$

Ipc$

11/09/2004

Obrigado pessoal, vou fazer uns testes. Se funcionar num banco e em outro não, para mim não vai servir pq preciso de um sql padrão que funcione em qualquer banco.


GOSTEI 0
POSTAR